/usr/bin/make -k -j16 NV_EXCLUDE_KERNEL_MODULES="" SYSSRC="/lib/modules/6.14.6-arch1-1/build" SYSOUT="/lib/modules/6.14.6-arch1-1/build" make[1]: Entering directory '/usr/lib/modules/6.14.6-arch1-1/build' make[2]: Entering directory '/tmp/selfgz13746/NVIDIA-Linux-x86_64-535.161.07-grid/kernel' warning: the compiler differs from the one used to build the kernel The kernel was built by: gcc (GCC) 15.1.1 20250425 You are using: cc (GCC) 15.1.1 20250425 SYMLINK nvidia/nv-kernel.o SYMLINK nvidia-modeset/nv-modeset-kernel.o CONFTEST: hash__remap_4k_pfn CONFTEST: set_pages_uc CONFTEST: list_is_first CONFTEST: set_memory_uc CONFTEST: set_memory_array_uc CONFTEST: set_pages_array_uc CONFTEST: ioremap_cache CONFTEST: ioremap_wc CONFTEST: ioremap_driver_hardened CONFTEST: ioremap_driver_hardened_wc CONFTEST: ioremap_cache_shared CONFTEST: pci_get_domain_bus_and_slot CONFTEST: get_num_physpages CONFTEST: pde_data CONFTEST: xen_ioemu_inject_msi CONFTEST: phys_to_dma CONFTEST: get_dma_ops CONFTEST: dma_attr_macros CONFTEST: dma_map_page_attrs CONFTEST: write_cr4 CONFTEST: of_find_node_by_phandle CONFTEST: of_node_to_nid CONFTEST: pnv_pci_get_npu_dev CONFTEST: of_get_ibm_chip_id CONFTEST: pci_bus_address CONFTEST: pci_stop_and_remove_bus_device CONFTEST: pci_rebar_get_possible_sizes CONFTEST: wait_for_random_bytes CONFTEST: register_cpu_notifier CONFTEST: cpuhp_setup_state CONFTEST: dma_map_resource CONFTEST: get_backlight_device_by_name CONFTEST: timer_setup CONFTEST: pci_enable_msix_range CONFTEST: kernel_read_has_pointer_pos_arg CONFTEST: kernel_write_has_pointer_pos_arg CONFTEST: dma_direct_map_resource CONFTEST: tegra_get_platform CONFTEST: tegra_bpmp_send_receive CONFTEST: flush_cache_all CONFTEST: vmf_insert_pfn CONFTEST: jiffies_to_timespec CONFTEST: ktime_get_raw_ts64 CONFTEST: ktime_get_real_ts64 CONFTEST: full_name_hash CONFTEST: pci_enable_atomic_ops_to_root CONFTEST: vga_tryget CONFTEST: cc_platform_has CONFTEST: seq_read_iter CONFTEST: unsafe_follow_pfn CONFTEST: drm_gem_object_get CONFTEST: drm_gem_object_put_unlocked CONFTEST: add_memory_driver_managed CONFTEST: device_property_read_u64 CONFTEST: devm_of_platform_populate CONFTEST: of_dma_configure CONFTEST: of_property_count_elems_of_size CONFTEST: of_property_read_variable_u8_array CONFTEST: of_property_read_variable_u32_array CONFTEST: i2c_new_client_device CONFTEST: i2c_unregister_device CONFTEST: of_get_named_gpio CONFTEST: devm_gpio_request_one CONFTEST: gpio_direction_input CONFTEST: gpio_direction_output CONFTEST: gpio_get_value CONFTEST: gpio_set_value CONFTEST: gpio_to_irq CONFTEST: icc_get CONFTEST: icc_put CONFTEST: icc_set_bw CONFTEST: dma_buf_export_args CONFTEST: dma_buf_ops_has_kmap CONFTEST: dma_buf_ops_has_kmap_atomic CONFTEST: dma_buf_ops_has_map CONFTEST: dma_buf_ops_has_map_atomic CONFTEST: dma_buf_has_dynamic_attachment CONFTEST: dma_buf_attachment_has_peer2peer CONFTEST: dma_set_mask_and_coherent CONFTEST: devm_clk_bulk_get_all CONFTEST: get_task_ioprio CONFTEST: mdev_set_iommu_device CONFTEST: offline_and_remove_memory CONFTEST: crypto_tfm_ctx_aligned CONFTEST: wait_on_bit_lock_argument_count CONFTEST: radix_tree_empty CONFTEST: radix_tree_replace_slot CONFTEST: pnv_npu2_init_context CONFTEST: cpumask_of_node CONFTEST: ioasid_get CONFTEST: mm_pasid_drop CONFTEST: mmget_not_zero CONFTEST: mmgrab CONFTEST: iommu_sva_bind_device_has_drvdata_arg CONFTEST: vm_fault_to_errno CONFTEST: acpi_video_backlight_use_native CONFTEST: drm_dev_unref CONFTEST: drm_reinit_primary_mode_group CONFTEST: get_user_pages_remote CONFTEST: get_user_pages CONFTEST: pin_user_pages_remote CONFTEST: pin_user_pages CONFTEST: drm_gem_object_lookup CONFTEST: drm_atomic_state_ref_counting CONFTEST: drm_driver_has_gem_prime_res_obj CONFTEST: drm_atomic_helper_connector_dpms CONFTEST: drm_connector_funcs_have_mode_in_name CONFTEST: drm_connector_has_vrr_capable_property CONFTEST: drm_framebuffer_get CONFTEST: drm_dev_put CONFTEST: drm_format_num_planes CONFTEST: drm_connector_for_each_possible_encoder CONFTEST: drm_rotation_available CONFTEST: drm_vma_offset_exact_lookup_locked CONFTEST: nvhost_dma_fence_unpack CONFTEST: is_export_symbol_gpl_of_node_to_nid CONFTEST: is_export_symbol_gpl_sme_active CONFTEST: is_export_symbol_present_swiotlb_map_sg_attrs CONFTEST: is_export_symbol_present_swiotlb_dma_ops CONFTEST: is_export_symbol_present___close_fd CONFTEST: is_export_symbol_present_close_fd CONFTEST: is_export_symbol_present_get_unused_fd CONFTEST: is_export_symbol_present_get_unused_fd_flags CONFTEST: is_export_symbol_present_nvhost_get_default_device CONFTEST: is_export_symbol_present_nvhost_syncpt_unit_interface_get_byte_offset CONFTEST: is_export_symbol_present_nvhost_syncpt_unit_interface_get_aperture CONFTEST: is_export_symbol_present_tegra_dce_register_ipc_client CONFTEST: is_export_symbol_present_tegra_dce_unregister_ipc_client CONFTEST: is_export_symbol_present_tegra_dce_client_ipc_send_recv CONFTEST: is_export_symbol_present_dram_clk_to_mc_clk CONFTEST: is_export_symbol_present_get_dram_num_channels CONFTEST: is_export_symbol_present_tegra_dram_types CONFTEST: is_export_symbol_present_pxm_to_node CONFTEST: is_export_symbol_present_screen_info CONFTEST: is_export_symbol_gpl_screen_info CONFTEST: is_export_symbol_present_i2c_bus_status CONFTEST: is_export_symbol_present_tegra_fuse_control_read CONFTEST: is_export_symbol_present_tegra_get_platform CONFTEST: is_export_symbol_present_pci_find_host_bridge CONFTEST: is_export_symbol_present_tsec_comms_send_cmd CONFTEST: is_export_symbol_present_tsec_comms_set_init_cb CONFTEST: is_export_symbol_present_tsec_comms_clear_init_cb CONFTEST: is_export_symbol_present_tsec_comms_alloc_mem_from_gscco CONFTEST: is_export_symbol_present_tsec_comms_free_gscco_mem CONFTEST: is_export_symbol_present_memory_block_size_bytes CONFTEST: crypto CONFTEST: is_export_symbol_present_int_active_memcg CONFTEST: is_export_symbol_present_migrate_vma_setup CONFTEST: dma_ops CONFTEST: swiotlb_dma_ops CONFTEST: noncoherent_swiotlb_dma_ops CONFTEST: vm_fault_has_address CONFTEST: vm_insert_pfn_prot CONFTEST: vmf_insert_pfn_prot CONFTEST: vm_ops_fault_removed_vma_arg CONFTEST: kmem_cache_has_kobj_remove_work CONFTEST: sysfs_slab_unlink CONFTEST: proc_ops CONFTEST: timespec64 CONFTEST: vmalloc_has_pgprot_t_arg CONFTEST: mm_has_mmap_lock CONFTEST: pci_channel_state CONFTEST: pci_dev_has_ats_enabled CONFTEST: remove_memory_has_nid_arg CONFTEST: add_memory_driver_managed_has_mhp_flags_arg CONFTEST: num_registered_fb CONFTEST: pci_driver_has_driver_managed_dma CONFTEST: vm_area_struct_has_const_vm_flags CONFTEST: memory_failure_has_trapno_arg CONFTEST: backing_dev_info CONFTEST: mm_context_t CONFTEST: vm_fault_t CONFTEST: mmu_notifier_ops_invalidate_range CONFTEST: mmu_notifier_ops_arch_invalidate_secondary_tlbs CONFTEST: migrate_vma_added_flags CONFTEST: migrate_device_range CONFTEST: handle_mm_fault_has_mm_arg CONFTEST: handle_mm_fault_has_pt_regs_arg CONFTEST: mempolicy_has_unified_nodes CONFTEST: mempolicy_has_home_node CONFTEST: mpol_preferred_many_present CONFTEST: mmu_interval_notifier CONFTEST: drm_bus_present CONFTEST: drm_bus_has_bus_type CONFTEST: drm_bus_has_get_irq CONFTEST: drm_bus_has_get_name CONFTEST: drm_driver_has_device_list CONFTEST: drm_driver_has_legacy_dev_list CONFTEST: drm_driver_has_set_busid CONFTEST: drm_crtc_state_has_connectors_changed CONFTEST: drm_init_function_args CONFTEST: drm_helper_mode_fill_fb_struct CONFTEST: drm_master_drop_has_from_release_arg CONFTEST: drm_driver_unload_has_int_return_type CONFTEST: drm_atomic_helper_crtc_destroy_state_has_crtc_arg CONFTEST: drm_atomic_helper_plane_destroy_state_has_plane_arg CONFTEST: drm_mode_object_find_has_file_priv_arg CONFTEST: dma_buf_owner CONFTEST: drm_connector_list_iter CONFTEST: drm_atomic_helper_swap_state_has_stall_arg CONFTEST: drm_driver_prime_flag_present CONFTEST: drm_gem_object_has_resv CONFTEST: drm_crtc_state_has_async_flip CONFTEST: drm_crtc_state_has_pageflip_flags CONFTEST: drm_crtc_state_has_vrr_enabled CONFTEST: drm_format_modifiers_present CONFTEST: drm_vma_node_is_allowed_has_tag_arg CONFTEST: drm_vma_offset_node_has_readonly CONFTEST: drm_display_mode_has_vrefresh CONFTEST: drm_driver_master_set_has_int_return_type CONFTEST: drm_driver_has_gem_free_object CONFTEST: drm_prime_pages_to_sg_has_drm_device_arg CONFTEST: drm_driver_has_gem_prime_callbacks CONFTEST: drm_crtc_atomic_check_has_atomic_state_arg CONFTEST: drm_gem_object_vmap_has_map_arg CONFTEST: drm_plane_atomic_check_has_atomic_state_arg CONFTEST: drm_device_has_pdev CONFTEST: drm_crtc_state_has_no_vblank CONFTEST: drm_mode_config_has_allow_fb_modifiers CONFTEST: drm_has_hdr_output_metadata CONFTEST: dma_resv_add_fence CONFTEST: dma_resv_reserve_fences CONFTEST: reservation_object_reserve_shared_has_num_fences_arg CONFTEST: drm_connector_has_override_edid CONFTEST: drm_master_has_leases CONFTEST: drm_file_get_master CONFTEST: drm_modeset_lock_all_end CONFTEST: drm_connector_lookup CONFTEST: drm_connector_put CONFTEST: drm_driver_has_dumb_destroy CONFTEST: drm_unlocked_ioctl_flag_present CONFTEST: dom0_kernel_present CONFTEST: nvidia_vgpu_kvm_build CONFTEST: nvidia_grid_build CONFTEST: nvidia_grid_csp_build CONFTEST: pm_runtime_available CONFTEST: pci_class_multimedia_hd_audio CONFTEST: drm_available CONFTEST: vfio_pci_core_available CONFTEST: mdev_available CONFTEST: cmd_uphy_display_port_init CONFTEST: cmd_uphy_display_port_off CONFTEST: memory_failure_mf_sw_simulated_defined CONFTEST: drm_atomic_available CONFTEST: is_export_symbol_gpl_refcount_inc CONFTEST: is_export_symbol_gpl_refcount_dec_and_test CONFTEST: drm_alpha_blending_available CONFTEST: is_export_symbol_present_drm_gem_prime_fd_to_handle CONFTEST: is_export_symbol_present_drm_gem_prime_handle_to_fd CONFTEST: ib_peer_memory_symbols CC [M] nvidia/nv.o CC [M] nvidia/nv-pci.o CC [M] nvidia/nv-dmabuf.o CC [M] nvidia/nv-nano-timer.o CC [M] nvidia/nv-acpi.o CC [M] nvidia/nv-cray.o CC [M] nvidia/nv-dma.o CC [M] nvidia/nv-i2c.o CC [M] nvidia/nv-mmap.o CC [M] nvidia/nv-p2p.o CC [M] nvidia/nv-pat.o CC [M] nvidia/nv-procfs.o CC [M] nvidia/nv-usermap.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-acpi.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ CC [M] nvidia/nv-vm.o CC [M] nvidia/nv-vtophys.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-cray.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-dma.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ CC [M] nvidia/os-interface.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-mmap.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-p2p.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-pat.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-procfs.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-usermap.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-vtophys.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/os-interface.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-vm.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-nano-timer.c:30: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-p2p.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-pat.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-usermap.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-dma.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-acpi.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-mmap.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/os-interface.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-vtophys.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv.c:33: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-pci-types.h:28, from nvidia/nv-pci.c:25: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-nano-timer.c:31: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/nospec-branch.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/paravirt_types.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/ptrace.h:175, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/math_emu.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/processor.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/timex.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timex.h:67, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time32.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:60, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from nvidia/nv-nano-timer.c:27: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/array_size.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kernel.h:16, from nvidia/nv-nano-timer.c:26: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from ././common/inc/nv-pci.h:28, from nvidia/nv-pci.c:26: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/xarray.h:16, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/radix-tree.h:21, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/idr.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kernfs.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sysfs.h:16, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kobject.h:20, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/pci.h:35, from nvidia/nv-pci-table.h:27, from nvidia/nv-pci.c:24: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mutex.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kernfs.h:11: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/scatterlist.h:8, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/dmapool.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/pci.h:1662: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-cray.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/mei_uuid.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/mei.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mod_devicetable.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/pci.h:27: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-vm.c:26: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from nvidia/nv-vm.c:25: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv.c:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/umh.h:4, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kmod.h:9, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:17, from nvidia/nv.c:24: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/nospec-branch.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/paravirt_types.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/ptrace.h:175, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/math_emu.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/processor.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/timex.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timex.h:67, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time32.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:60, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stat.h:19, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:13: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/build_bug.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/container_of.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/list.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:12: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-procfs.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from ././common/inc/nv-dmabuf.h:27, from nvidia/nv-dmabuf.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/scatterlist.h:8, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/dma-buf.h:19, from nvidia/nv-dmabuf.c:23: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/nospec-branch.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/irqflags.h:9, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/irqflags.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/special_insns.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/io.h:45, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/io.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/iosys-map.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/dma-buf.h:16: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/io.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-i2c.c:28: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-i2c.c:29: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/slab.h:16, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/resource_ext.h:11, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/acpi.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/i2c.h:13, from nvidia/nv-i2c.c:26: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:8: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/memcontrol.h:21, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/swap.h:9, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/suspend.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/regulator/consumer.h:35, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/i2c.h:19: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/build_bug.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/bits.h:22, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ioport.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/acpi.h:12: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-usermap.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia/os-mlock.o ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia/os-interface.c: At top level: nvidia/os-interface.c:370:7: warning: no previous prototype for 'os_mem_copy_custom' [-Wmissing-prototypes] 370 | void *os_mem_copy_custom( | ^~~~~~~~~~~~~~~~~~ nvidia/os-interface.c: In function 'os_alloc_mem': ././common/inc/nv-linux.h:609:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 609 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/os-interface.c:584:13: note: in expansion of macro 'NV_KMALLOC_ATOMIC' 584 | NV_KMALLOC_ATOMIC(*address, alloc_size); | ^~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:624:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 624 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/os-interface.c:590:13: note: in expansion of macro 'NV_KMALLOC_NO_OOM' 590 | NV_KMALLOC_NO_OOM(*address, alloc_size); | ^~~~~~~~~~~~~~~~~ nvidia/os-interface.c: In function 'os_get_current_time': nvidia/os-interface.c:633:25: error: passing argument 1 of 'ktime_get_real_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 633 | ktime_get_real_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:44:52: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 44 | extern void ktime_get_real_ts64(struct timespec64 *tv); | ~~~~~~~~~~~~~~~~~~~^~ nvidia/os-interface.c: In function 'os_get_current_tick_hr': nvidia/os-interface.c:647:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 647 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia/os-interface.c: In function 'os_get_current_tick': nvidia/os-interface.c:656:21: error: storage size of 'ts' isn't known 656 | struct timespec ts; | ^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-pat.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir CC [M] nvidia/os-pci.o ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/os-mlock.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-vtophys.o] Error 1 nvidia/nv-pci.c: In function 'nv_pci_probe': ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 602 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-pci.c:396:5: note: in expansion of macro 'NV_KZALLOC' 396 | NV_KZALLOC(nvl, sizeof(nv_linux_state_t)); | ^~~~~~~~~~ CC [M] nvidia/os-registry.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/os-pci.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ nvidia/nv-dma.c: At top level: nvidia/nv-dma.c:293:6: warning: no previous prototype for 'nv_load_dma_map_scatterlist' [-Wmissing-prototypes] 293 | void nv_load_dma_map_scatterlist( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia/nv-dma.c:489:23: warning: no previous prototype for 'nv_dma_unmap_sgt' [-Wmissing-prototypes] 489 | NV_STATUS NV_API_CALL nv_dma_unmap_sgt( | ^~~~~~~~~~~~~~~~ nvidia/os-interface.c:657:5: error: implicit declaration of function 'jiffies_to_timespec'; did you mean 'jiffies_to_timespec64'? [-Wimplicit-function-declaration] 657 | jiffies_to_timespec(jiffies, &ts); | ^~~~~~~~~~~~~~~~~~~ | jiffies_to_timespec64 nvidia/nv-mmap.c: At top level: nvidia/nv-mmap.c:299:15: error: initialization of 'vm_fault_t (*)(struct vm_fault *)' {aka 'unsigned int (*)(struct vm_fault *)'} from incompatible pointer type 'vm_fault_t (*)(struct vm_area_struct *, struct vm_fault *)' {aka 'int (*)(struct vm_area_struct *, struct vm_fault *)'} [-Wincompatible-pointer-types] 299 | .fault = nvidia_fault, | ^~~~~~~~~~~~ nvidia/nv-mmap.c:299:15: note: (near initialization for 'nv_vm_ops.fault') nvidia/nv-mmap.c:201:19: note: 'nvidia_fault' declared here 201 | static vm_fault_t nvidia_fault( | ^~~~~~~~~~~~ nvidia/nv-mmap.c:303:5: warning: conflicting types for 'nv_encode_caching' due to enum/integer mismatch; have 'int(pgprot_t *, NvU32, nv_memory_type_t)' {aka 'int(struct pgprot *, unsigned int, nv_memory_type_t)'} [-Wenum-int-mismatch] 303 | int nv_encode_caching( | ^~~~~~~~~~~~~~~~~ In file included from ././common/inc/nv-linux.h:1761: ././common/inc/nv-proto.h:46:13: note: previous declaration of 'nv_encode_caching' with type 'int(pgprot_t *, NvU32, NvU32)' {aka 'int(struct pgprot *, unsigned int, unsigned int)'} 46 | int nv_encode_caching (pgprot_t *, NvU32, NvU32); | ^~~~~~~~~~~~~~~~~ nvidia/nv-mmap.c:371:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration] 371 | int static nvidia_mmap_peer_io( | ^~~ nvidia/nv-mmap.c:392:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration] 392 | int static nvidia_mmap_sysmem( | ^~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-p2p.o] Error 1 ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/os-registry.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ CC [M] nvidia/os-usermap.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-acpi.o] Error 1 CC [M] nvidia/nv-modeset-interface.o nvidia/os-interface.c:658:20: error: implicit declaration of function 'timespec_to_ns'; did you mean 'timespec64_to_ns'? [-Wimplicit-function-declaration] 658 | return (NvU64) timespec_to_ns(&ts); | ^~~~~~~~~~~~~~ | timespec64_to_ns nvidia/os-interface.c:656:21: warning: unused variable 'ts' [-Wunused-variable] 656 | struct timespec ts; | ^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-pci.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma nvidia/os-interface.c: In function 'os_queue_work_item': ././common/inc/nv-linux.h:609:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 609 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/os-interface.c:1113:5: note: in expansion of macro 'NV_KMALLOC_ATOMIC' 1113 | NV_KMALLOC_ATOMIC(oqd, sizeof(os_queue_data_t)); | ^~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma CC [M] nvidia/nv-pci-table.o nvidia/os-interface.c: In function 'os_write_file': nvidia/os-interface.c:1792:54: error: passing argument 4 of 'kernel_write' makes pointer from integer without a cast [-Wint-conversion] 1792 | num_written = kernel_write(pFile, pBuffer, size, f_pos); | ^~~~~ | | | loff_t {aka long long int} nvidia/os-interface.c:1792:54: note: possible fix: take the address with '&' 1792 | num_written = kernel_write(pFile, pBuffer, size, f_pos); | ^~~~~ | & In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/huge_mm.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:1133: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:3189:66: note: expected 'loff_t *' {aka 'long long int *'} but argument is of type 'loff_t' {aka 'long long int'} 3189 | extern ssize_t kernel_write(struct file *, const void *, size_t, loff_t *); | ^~~~~~~~ nvidia/os-interface.c: In function 'os_read_file': nvidia/os-interface.c:1832:35: error: passing argument 2 of 'kernel_read' makes pointer from integer without a cast [-Wint-conversion] 1832 | num_read = kernel_read(pFile, f_pos, pBuffer, size); | ^~~~~ | | | loff_t {aka long long int} make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-dma.o] Error 1 /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:3187:43: note: expected 'void *' but argument is of type 'loff_t' {aka 'long long int'} 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *); | ^~~~~~ nvidia/os-interface.c:1832:42: error: passing argument 3 of 'kernel_read' makes integer from pointer without a cast [-Wint-conversion] 1832 | num_read = kernel_read(pFile, f_pos, pBuffer, size); | ^~~~~~~ | | | NvU8 * {aka unsigned char *} /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:3187:51: note: expected 'size_t' {aka 'long unsigned int'} but argument is of type 'NvU8 *' {aka 'unsigned char *'} 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *); | ^~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia/os-interface.c:1832:51: error: passing argument 4 of 'kernel_read' makes pointer from integer without a cast [-Wint-conversion] 1832 | num_read = kernel_read(pFile, f_pos, pBuffer, size); | ^~~~ | | | NvU64 {aka long long unsigned int} /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:3187:59: note: expected 'loff_t *' {aka 'long long int *'} but argument is of type 'NvU64' {aka 'long long unsigned int'} 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *); | ^~~~~~~~ nvidia/os-interface.c: In function 'os_alloc_wait_queue': ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/os-interface.c:1945:5: note: in expansion of macro 'NV_KMALLOC' 1945 | NV_KMALLOC(*wq, sizeof(os_wait_queue)); | ^~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/os-usermap.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ CC [M] nvidia/nv-kthread-q.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-mmap.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-modeset-interface.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ CC [M] nvidia/nv-memdbg.o ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-i2c.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': CC [M] nvidia/nv-ibmnpu.o ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from nvidia/nv-memdbg.c:25: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-interface.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir CC [M] nvidia/nv-report-err.o nvidia/nv-nano-timer.c: In function 'nv_alloc_nano_timer': ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-nano-timer.c:86:5: note: in expansion of macro 'NV_KMALLOC' 86 | NV_KMALLOC(nv_nstimer, sizeof(nv_nano_timer_t)); | ^~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from nvidia/nv-ibmnpu.c:27: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from nvidia/nv-report-err.c:25: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-nano-timer.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/sound/hdaudio.h:18, from nvidia/nv.c:70: /usr/lib/modules/6.14.6-arch1-1/build/include/sound/pcm.h: In function 'snd_pcm_gettime': /usr/lib/modules/6.14.6-arch1-1/build/include/sound/pcm.h:1292:32: error: passing argument 1 of 'ktime_get_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 1292 | ktime_get_ts64(tv); | ^~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:43:47: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 43 | extern void ktime_get_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/sound/pcm.h:1295:36: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 1295 | ktime_get_raw_ts64(tv); | ^~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/sound/pcm.h:1298:37: error: passing argument 1 of 'ktime_get_real_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 1298 | ktime_get_real_ts64(tv); | ^~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:44:52: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 44 | extern void ktime_get_real_ts64(struct timespec64 *tv); | ~~~~~~~~~~~~~~~~~~~^~ CC [M] nvidia/nv-rsync.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-cray.o] Error 1 nvidia/nv.c: In function 'nvos_create_alloc': ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 602 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv.c:262:5: note: in expansion of macro 'NV_KZALLOC' 262 | NV_KZALLOC(at, sizeof(nv_alloc_t)); | ^~~~~~~~~~ CC [M] nvidia/nv-msi.o nvidia/nv.c: At top level: nvidia/nv.c:735:12: warning: no previous prototype for 'nvidia_init_module' [-Wmissing-prototypes] 735 | int __init nvidia_init_module(void) | ^~~~~~~~~~~~~~~~~~ nvidia/nv.c:855:6: warning: no previous prototype for 'nvidia_exit_module' [-Wmissing-prototypes] 855 | void nvidia_exit_module(void) | ^~~~~~~~~~~~~~~~~~ nvidia/nv.c: In function 'nv_alloc_file_private': ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 602 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv.c:879:5: note: in expansion of macro 'NV_KZALLOC' 879 | NV_KZALLOC(nvlfp, sizeof(nv_linux_file_private_t)); | ^~~~~~~~~~ nvidia/nv.c: At top level: nvidia/nv.c:1124:23: warning: no previous prototype for 'nv_get_num_dpaux_instances' [-Wmissing-prototypes] 1124 | NV_STATUS NV_API_CALL nv_get_num_dpaux_instances(nv_state_t *nv, NvU32 *num_instances) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia/nv-vm.c: In function 'nv_set_memory_array_type': nvidia/nv-vm.c:92:13: error: implicit declaration of function 'set_memory_array_uc'; did you mean 'set_pages_array_uc'? [-Wimplicit-function-declaration] 92 | set_memory_array_uc(pages, num_pages); | ^~~~~~~~~~~~~~~~~~~ | set_pages_array_uc In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from nvidia/nv-rsync.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ nvidia/nv.c: In function 'nvidia_ioctl': ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv.c:2104:5: note: in expansion of macro 'NV_KMALLOC' 2104 | NV_KMALLOC(arg_copy, arg_size); | ^~~~~~~~~~ nvidia/nv-procfs.c: In function 'nv_procfs_open_file': ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 602 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-procfs.c:276:5: note: in expansion of macro 'NV_KZALLOC' 276 | NV_KZALLOC(nvpp, sizeof(nv_procfs_private_t)); | ^~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-dmabuf.o] Error 1 ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv.c:2165:13: note: in expansion of macro 'NV_KMALLOC' 2165 | NV_KMALLOC(nvlfp->attached_gpus, arg_size); | ^~~~~~~~~~ nvidia/nv-procfs.c: At top level: nvidia/nv-procfs.c:698:1: warning: no previous prototype for 'exercise_error_forwarding_va' [-Wmissing-prototypes] 698 | exercise_error_forwarding_va( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia/nv.c: In function 'nv_map_guest_pages': ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv.c:2805:5: note: in expansion of macro 'NV_KMALLOC' 2805 | NV_KMALLOC(pages, sizeof(struct page *) * page_count); | ^~~~~~~~~~ CC [M] nvidia/nv-caps.o In file included from ././common/inc/nv-procfs.h:26, from nvidia/nv-procfs.c:31: nvidia/nv-procfs.c: In function 'nv_procfs_add_text_file': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1312:5: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1312 | NV_CREATE_PROC_FILE(filename, parent, text_file, (void *)text); | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19, from ././common/inc/nv-linux.h:220: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from ././common/inc/nv-msi.h:27, from nvidia/nv-msi.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ nvidia/nv.c: In function 'nv_alloc_kernel_mapping': ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv.c:3282:13: note: in expansion of macro 'NV_KMALLOC' 3282 | NV_KMALLOC(pages, sizeof(struct page *) * page_count); | ^~~~~~~~~~ nvidia/nv-procfs.c: In function 'nv_procfs_init': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1342:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1342 | entry = NV_CREATE_PROC_FILE("params", proc_nvidia, params, NULL); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1346:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1346 | entry = NV_CREATE_PROC_FILE("registry", proc_nvidia, registry, NULL); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1351:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1351 | entry = NV_CREATE_PROC_FILE("suspend_depth", proc_nvidia, suspend_depth, NULL); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1355:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1355 | entry = NV_CREATE_PROC_FILE("suspend", proc_nvidia, suspend, NULL); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1377:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1377 | entry = NV_CREATE_PROC_FILE("version", proc_nvidia, version, NULL); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ nvidia/nv.c: In function 'nv_post_event': nvidia/nv-procfs.c: In function 'nv_procfs_add_gpu': ././common/inc/nv-linux.h:609:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 609 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv.c:3554:9: note: in expansion of macro 'NV_KMALLOC_ATOMIC' 3554 | NV_KMALLOC_ATOMIC(nvet, sizeof(nvidia_event_t)); | ^~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1419:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1419 | entry = NV_CREATE_PROC_FILE("information", proc_nvidia_gpu, gpu_info, | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1424:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1424 | entry = NV_CREATE_PROC_FILE("registry", proc_nvidia_gpu, registry, nv); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1428:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1428 | entry = NV_CREATE_PROC_FILE("power", proc_nvidia_gpu, power, nv); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1434:17: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1434 | entry = NV_CREATE_PROC_FILE("exercise_error_forwarding", proc_nvidia_gpu, | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1442:17: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1442 | entry = NV_CREATE_PROC_FILE("unbindLock", proc_nvidia_gpu, unbind_lock, nv); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1449:17: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1449 | entry = NV_CREATE_PROC_FILE("numa_status", proc_nvidia_gpu, numa_status, | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1454:17: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1454 | entry = NV_CREATE_PROC_FILE("offline_pages", proc_nvidia_gpu, offline_pages, | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from nvidia/nv-caps.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ nvidia/nv-vm.c:95:13: error: implicit declaration of function 'set_memory_array_wb'; did you mean 'set_pages_array_wb'? [-Wimplicit-function-declaration] 95 | set_memory_array_wb(pages, num_pages); | ^~~~~~~~~~~~~~~~~~~ | set_pages_array_wb make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-procfs.o] Error 1 CC [M] nvidia/nv-frontend.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv.o] Error 1 CC [M] nvidia/nv_uvm_interface.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-vm.o] Error 1 In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-frontend.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ CC [M] nvidia/libspdm_aead.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv_uvm_interface.c:32: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from nvidia/internal_crypt_lib.h:32, from nvidia/libspdm_aead.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-kthread-q.h:33, from nvidia/nv-kthread-q.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ nvidia/libspdm_aead.c:41:5: warning: no previous prototype for 'libspdm_aead_prealloc' [-Wmissing-prototypes] 41 | int libspdm_aead_prealloc(void **context, char const *alg) | ^~~~~~~~~~~~~~~~~~~~~ nvidia/libspdm_aead.c:171:5: warning: no previous prototype for 'libspdm_aead_prealloced' [-Wmissing-prototypes] 171 | int libspdm_aead_prealloced(void *context, | ^~~~~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/libspdm_aead.o] Error 1 CC [M] nvidia/libspdm_ecc.o CC [M] nvidia/libspdm_hkdf.o In file included from ././common/inc/conftest.h:28, from nvidia/internal_crypt_lib.h:32, from nvidia/libspdm_hkdf.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia/os-mlock.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/os-pci.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia/os-registry.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-modeset-interface.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/libspdm_hkdf.o] Error 1 In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ CC [M] nvidia/libspdm_rand.o ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/os-usermap.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ CC [M] nvidia/libspdm_shash.o ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from nvidia/internal_crypt_lib.h:32, from nvidia/libspdm_shash.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ nvidia/nv-kthread-q.c: In function 'thread_create_on_node': nvidia/nv-kthread-q.c:179:5: warning: 'static' is not at beginning of declaration [-Wold-style-declaration] 179 | const static unsigned attempts = 3; | ^~~~~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-kthread-q.o] Error 1 CC [M] nvidia/libspdm_aead_aes_gcm.o CC [M] nvidia/libspdm_sha.o ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ CC [M] nvidia/libspdm_hmac_sha.o In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: CC [M] nvidia/libspdm_hkdf_sha.o ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/libspdm_shash.o] Error 1 In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-frontend.c:25: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base CC [M] nvidia/libspdm_ec.o ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia/libspdm_x509.o In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ CC [M] nvidia/nvlink_linux.o In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ CC [M] nvidia/nvlink_caps.o In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ CC [M] nvidia/linux_nvswitch.o In file included from ././common/inc/conftest.h:28, from nvidia/nvlink_linux.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv_uvm_interface.c:33: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from nvidia/linux_nvswitch.h:28, from nvidia/linux_nvswitch.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia/os-mlock.c: In function 'nv_follow_pfn': nvidia/os-mlock.c:34:12: error: implicit declaration of function 'unsafe_follow_pfn'; did you mean 'nv_follow_pfn'? [-Wimplicit-function-declaration] 34 | return unsafe_follow_pfn(vma, address, pfn); | ^~~~~~~~~~~~~~~~~ | nv_follow_pfn ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-mlock.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia/procfs_nvswitch.o ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-pci.o] Error 1 CC [M] nvidia/i2c_nvswitch.o ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from nvidia/linux_nvswitch.h:28, from nvidia/procfs_nvswitch.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from nvidia/linux_nvswitch.h:28, from nvidia/i2c_nvswitch.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-registry.o] Error 1 CC [M] nvidia-uvm/uvm_ats_sva.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-modeset-interface.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': CC [M] nvidia-uvm/uvm_conf_computing.o ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_gpu.h:31, from nvidia-uvm/uvm_ats_sva.h:27, from nvidia-uvm/uvm_ats_sva.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_conf_computing.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-report-err.o] Error 1 ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ CC [M] nvidia-uvm/uvm_sec2_test.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-memdbg.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': CC [M] nvidia-uvm/uvm_maxwell_sec2.o ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from ././nvidia-uvm/uvm_linux.h:37, from ././nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_sec2_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_gpu.h:31, from nvidia-uvm/uvm_maxwell_sec2.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ nvidia/nv-ibmnpu.c: At top level: nvidia/nv-ibmnpu.c:395:6: warning: no previous prototype for 'nv_init_ibmnpu_info' [-Wmissing-prototypes] 395 | void nv_init_ibmnpu_info(nv_state_t *nv) | ^~~~~~~~~~~~~~~~~~~ nvidia/nv-ibmnpu.c:399:6: warning: no previous prototype for 'nv_destroy_ibmnpu_info' [-Wmissing-prototypes] 399 | void nv_destroy_ibmnpu_info(nv_state_t *nv) | ^~~~~~~~~~~~~~~~~~~~~~ nvidia/nv-ibmnpu.c:403:5: warning: no previous prototype for 'nv_init_ibmnpu_devices' [-Wmissing-prototypes] 403 | int nv_init_ibmnpu_devices(nv_state_t *nv) | ^~~~~~~~~~~~~~~~~~~~~~ nvidia/nv-ibmnpu.c:408:6: warning: no previous prototype for 'nv_unregister_ibmnpu_devices' [-Wmissing-prototypes] 408 | void nv_unregister_ibmnpu_devices(nv_state_t *nv) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia/nv-ibmnpu.c:428:5: warning: no previous prototype for 'nv_get_ibmnpu_chip_id' [-Wmissing-prototypes] 428 | int nv_get_ibmnpu_chip_id(nv_state_t *nv) | ^~~~~~~~~~~~~~~~~~~~~ nvidia/nv-ibmnpu.c:437:6: warning: no previous prototype for 'nv_ibmnpu_cache_flush_numa_region' [-Wmissing-prototypes] 437 | void nv_ibmnpu_cache_flush_numa_region(nv_state_t *nv) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-usermap.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma CC [M] nvidia-uvm/uvm_hopper_sec2.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-ibmnpu.o] Error 1 CC [M] nvidia-uvm/uvm_common.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal.h:28, from nvidia-uvm/uvm_hopper_sec2.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-rsync.o] Error 1 In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_common.c:20: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ CC [M] nvidia-uvm/uvm_linux.o ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_linux.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-frontend.o] Error 1 CC [M] nvidia-uvm/nvstatus.o ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ nvidia/nv-msi.c: In function 'nv_init_msi': ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 602 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-msi.c:39:9: note: in expansion of macro 'NV_KZALLOC' 39 | NV_KZALLOC(nvl->irq_count, sizeof(nv_irq_count_info_t) * nvl->num_intr); | ^~~~~~~~~~ nvidia/nv-msi.c: In function 'nv_init_msix': ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-msi.c:90:5: note: in expansion of macro 'NV_KMALLOC' 90 | NV_KMALLOC(nvl->msix_entries, sizeof(struct msix_entry) * num_intr); | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 602 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-msi.c:102:5: note: in expansion of macro 'NV_KZALLOC' 102 | NV_KZALLOC(nvl->irq_count, sizeof(nv_irq_count_info_t) * num_intr); | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-msi.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir CC [M] nvidia-uvm/nv-kthread-q.o CC [M] nvidia-uvm/nvCpuUuid.o CC [M] nvidia-uvm/nv-kthread-q-selftest.o ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ CC [M] nvidia-uvm/uvm.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv_uvm_interface.o] Error 1 In file included from ././common/inc/nv-linux.h:34, from nvidia/nvlink_linux.c:30: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/xarray.h:16, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/list_lru.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:13, from nvidia/nvlink_linux.h:30, from nvidia/nvlink_linux.c:27: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from nvidia/nvlink_linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/build_bug.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/init.h:5, from nvidia/nvlink_linux.h:27: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ CC [M] nvidia-uvm/uvm_tools.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_api.h:28, from nvidia-uvm/uvm.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stat.h:19, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:10: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_tools.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia/nv-caps.c: At top level: nvidia/nv-caps.c:269:5: warning: no previous prototype for 'nv_cap_procfs_init' [-Wmissing-prototypes] 269 | int nv_cap_procfs_init(void) | ^~~~~~~~~~~~~~~~~~ In file included from ././common/inc/nv-procfs.h:26, from nvidia/nv-caps.c:26: nvidia/nv-caps.c: In function 'nv_cap_procfs_init': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-caps.c:279:18: note: in expansion of macro 'NV_CREATE_PROC_FILE' 279 | file_entry = NV_CREATE_PROC_FILE("mig-minors", nv_cap_procfs_dir, | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19, from ././common/inc/nv-linux.h:220: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-caps.c:286:18: note: in expansion of macro 'NV_CREATE_PROC_FILE' 286 | file_entry = NV_CREATE_PROC_FILE("nvlink-minors", nv_cap_procfs_dir, | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-caps.c:293:18: note: in expansion of macro 'NV_CREATE_PROC_FILE' 293 | file_entry = NV_CREATE_PROC_FILE("sys-minors", nv_cap_procfs_dir, | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/string.h:392, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/bitmap.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/cpumask.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/paravirt.h:21, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/irqflags.h:102, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/irqflags.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:59: nvidia/nv-caps.c: In function 'nv_cap_find_minor': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fortify-string.h:259:38: error: passing argument 2 of 'full_name_hash' makes pointer from integer without a cast [-Wint-conversion] 258 | __builtin_choose_expr(__is_constexpr(__builtin_strlen(p)), \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 259 | __builtin_strlen(p), __fortify_strlen(p)) | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ | | | __kernel_size_t {aka long unsigned int} ././common/inc/nv-hash.h:41:51: note: in expansion of macro 'strlen' 41 | #define nv_string_hash(_str) full_name_hash(_str, strlen(_str)) | ^~~~~~ nvidia/nv-caps.c:42:32: note: in expansion of macro 'nv_string_hash' 42 | #define nv_cap_hash_key(path) (nv_string_hash(path) % NV_CAP_HASH_SIZE) | ^~~~~~~~~~~~~~ nvidia/nv-caps.c:310:24: note: in expansion of macro 'nv_cap_hash_key' 310 | unsigned int key = nv_cap_hash_key(path); | ^~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/dcache.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:8, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/huge_mm.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:1133: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stringhash.h:66:61: note: expected 'const char *' but argument is of type '__kernel_size_t' {aka 'long unsigned int'} 66 | extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int); | ^~~~~~~~~~~~ In file included from nvidia/nv-caps.c:27: ././common/inc/nv-hash.h:41:30: error: too few arguments to function 'full_name_hash'; expected 3, have 2 41 | #define nv_string_hash(_str) full_name_hash(_str, strlen(_str)) | ^~~~~~~~~~~~~~ nvidia/nv-caps.c:42:32: note: in expansion of macro 'nv_string_hash' 42 | #define nv_cap_hash_key(path) (nv_string_hash(path) % NV_CAP_HASH_SIZE) | ^~~~~~~~~~~~~~ nvidia/nv-caps.c:310:24: note: in expansion of macro 'nv_cap_hash_key' 310 | unsigned int key = nv_cap_hash_key(path); | ^~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stringhash.h:66:28: note: declared here 66 | extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int); | ^~~~~~~~~~~~~~ nvidia/nv-caps.c: In function '_nv_cap_table_init': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fortify-string.h:259:38: error: passing argument 2 of 'full_name_hash' makes pointer from integer without a cast [-Wint-conversion] 258 | __builtin_choose_expr(__is_constexpr(__builtin_strlen(p)), \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 259 | __builtin_strlen(p), __fortify_strlen(p)) | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ | | | __kernel_size_t {aka long unsigned int} ././common/inc/nv-hash.h:41:51: note: in expansion of macro 'strlen' 41 | #define nv_string_hash(_str) full_name_hash(_str, strlen(_str)) | ^~~~~~ nvidia/nv-caps.c:42:32: note: in expansion of macro 'nv_string_hash' 42 | #define nv_cap_hash_key(path) (nv_string_hash(path) % NV_CAP_HASH_SIZE) | ^~~~~~~~~~~~~~ nvidia/nv-caps.c:334:15: note: in expansion of macro 'nv_cap_hash_key' 334 | key = nv_cap_hash_key(table[i].name); | ^~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stringhash.h:66:61: note: expected 'const char *' but argument is of type '__kernel_size_t' {aka 'long unsigned int'} 66 | extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int); | ^~~~~~~~~~~~ ././common/inc/nv-hash.h:41:30: error: too few arguments to function 'full_name_hash'; expected 3, have 2 41 | #define nv_string_hash(_str) full_name_hash(_str, strlen(_str)) | ^~~~~~~~~~~~~~ nvidia/nv-caps.c:42:32: note: in expansion of macro 'nv_string_hash' 42 | #define nv_cap_hash_key(path) (nv_string_hash(path) % NV_CAP_HASH_SIZE) | ^~~~~~~~~~~~~~ nvidia/nv-caps.c:334:15: note: in expansion of macro 'nv_cap_hash_key' 334 | key = nv_cap_hash_key(table[i].name); | ^~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stringhash.h:66:28: note: declared here 66 | extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int); | ^~~~~~~~~~~~~~ nvidia/nv-caps.c: In function 'nv_cap_procfs_open': ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-caps.c:410:5: note: in expansion of macro 'NV_KMALLOC' 410 | NV_KMALLOC(private, sizeof(nv_cap_file_private_t)); | ^~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ nvidia/nv-caps.c: In function 'nv_cap_alloc': In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-caps.c:614:5: note: in expansion of macro 'NV_KMALLOC' 614 | NV_KMALLOC(cap, sizeof(nv_cap_t)); | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-caps.c:621:5: note: in expansion of macro 'NV_KMALLOC' 621 | NV_KMALLOC(cap->path, len); | ^~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-caps.c:633:5: note: in expansion of macro 'NV_KMALLOC' 633 | NV_KMALLOC(cap->name, len); | ^~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia/nv-caps.c: In function 'nv_cap_create_file_entry': nvidia/nv-caps.c:688:35: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 688 | &g_nv_cap_procfs_fops, (void*)cap); | ^~~~~~~~~~~~~~~~~~~~~ | | | nv_proc_ops_t * {aka struct file_operations *} /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'nv_proc_ops_t *' {aka 'struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia/nv-caps.c: In function 'nv_cap_init': ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-caps.c:738:5: note: in expansion of macro 'NV_KMALLOC' 738 | NV_KMALLOC(name, (strlen(path) + strlen(dir)) + 1); | ^~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-caps.o] Error 1 ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ CC [M] nvidia-uvm/uvm_global.o In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_api.h:28, from nvidia-uvm/uvm_global.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-kthread-q.h:33, from nvidia-uvm/nv-kthread-q.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-kthread-q.h:33, from nvidia-uvm/nv-kthread-q-selftest.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from ././nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * ././common/inc/nv-mm.h: In function 'nv_page_fault_va': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia/linux_nvswitch.c: At top level: nvidia/linux_nvswitch.c:52:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration] 52 | const static struct | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ nvidia/linux_nvswitch.c:1705:1: warning: no previous prototype for 'nvswitch_init' [-Wmissing-prototypes] 1705 | nvswitch_init | ^~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia/linux_nvswitch.c:1790:1: warning: no previous prototype for 'nvswitch_exit' [-Wmissing-prototypes] 1790 | nvswitch_exit | ^~~~~~~~~~~~~ nvidia/linux_nvswitch.c: In function 'nvswitch_os_get_platform_time': nvidia/linux_nvswitch.c:1827:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 1827 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia/linux_nvswitch.c: In function 'nvswitch_os_get_platform_time_epoch': nvidia/linux_nvswitch.c:1849:25: error: passing argument 1 of 'ktime_get_real_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 1849 | ktime_get_real_ts64(&ts); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:44:52: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 44 | extern void ktime_get_real_ts64(struct timespec64 *tv); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/nv-kthread-q.c: In function 'thread_create_on_node': nvidia-uvm/nv-kthread-q.c:179:5: warning: 'static' is not at beginning of declaration [-Wold-style-declaration] 179 | const static unsigned attempts = 3; | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/nv-kthread-q.o] Error 1 CC [M] nvidia-uvm/uvm_gpu.o ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/linux_nvswitch.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia-uvm/uvm_gpu_isr.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from ././nvidia-uvm/uvm_linux.h:37, from ././common/inc/nv_uvm_interface.h:37, from nvidia-uvm/uvm_gpu.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-procfs.h:26, from nvidia/nvlink_linux.c:31: nvidia/nvlink_linux.c: In function 'nvlink_permissions_init': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nvlink_linux.c:115:26: note: in expansion of macro 'NV_CREATE_PROC_FILE' 115 | nvlink_permissions = NV_CREATE_PROC_FILE("permissions", | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19, from ././common/inc/nv-linux.h:220: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia/nvlink_linux.c: At top level: nvidia/nvlink_linux.c:313:12: warning: no previous prototype for 'nvlink_core_init' [-Wmissing-prototypes] 313 | int __init nvlink_core_init(void) | ^~~~~~~~~~~~~~~~ nvidia/nvlink_linux.c:389:6: warning: no previous prototype for 'nvlink_core_exit' [-Wmissing-prototypes] 389 | void nvlink_core_exit(void) | ^~~~~~~~~~~~~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/nv-kthread-q-selftest.c:39: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/umh.h:4, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kmod.h:9, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:17, from nvidia-uvm/nv-kthread-q-selftest.c:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-kthread-q.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from nvidia-uvm/nv-kthread-q-selftest.c:31: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from ././common/inc/nv-kthread-q.h:27: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_api.h:28, from nvidia-uvm/uvm_gpu_isr.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stat.h:19, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:13: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nvlink_linux.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma CC [M] nvidia-uvm/uvm_procfs.o ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-procfs.h:26, from nvidia/procfs_nvswitch.c:25: nvidia/procfs_nvswitch.c: In function 'nvswitch_procfs_device_add': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/procfs_nvswitch.c:135:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 135 | entry = NV_CREATE_PROC_FILE("information", device_dir, device_info, | ^~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19, from ././common/inc/nv-linux.h:220: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ nvidia/procfs_nvswitch.c: In function 'nvswitch_procfs_init': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/procfs_nvswitch.c:174:28: note: in expansion of macro 'NV_CREATE_PROC_FILE' 174 | nvswitch_permissions = NV_CREATE_PROC_FILE("permissions", | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_extern_decl.h:27, from nvidia-uvm/uvm_global.h:28, from nvidia-uvm/uvm_procfs.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/procfs_nvswitch.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/i2c_nvswitch.o] Error 1 CC [M] nvidia-uvm/uvm_va_space.o CC [M] nvidia-uvm/uvm_va_space_mm.o ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_va_space_mm.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_api.h:28, from nvidia-uvm/uvm_va_space.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': ././nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././nvidia-uvm/uvm_linux.h: At top level: ././nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ ././nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_vmalloc': In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_conf_computing.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ In file included from ././nvidia-uvm/uvm_pmm_gpu.h:55, from ././nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_sec2_test.c:25: ././nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': ././nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ats_sva.o] Error 1 CC [M] nvidia-uvm/uvm_gpu_semaphore.o ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_lock.h:28, from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_gpu_semaphore.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': cc1: some warnings being treated as errors ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_conf_computing.o] Error 1 ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir CC [M] nvidia-uvm/uvm_mem.o cc1: some warnings being treated as errors ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_sec2_test.o] Error 1 ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_maxwell_sec2.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma CC [M] nvidia-uvm/uvm_channel.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_processors.h:27, from nvidia-uvm/uvm_mem.h:28, from nvidia-uvm/uvm_mem.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ CC [M] nvidia-uvm/uvm_rm_mem.o nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_processors.h:27, from nvidia-uvm/uvm_rm_mem.h:28, from nvidia-uvm/uvm_rm_mem.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_lock.h:28, from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_channel.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_common.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ CC [M] nvidia-uvm/uvm_lock.o nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma cc1: some warnings being treated as errors In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_lock.h:28, from nvidia-uvm/uvm_lock.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_linux.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia-uvm/uvm_hal.o ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal.h:28, from nvidia-uvm/uvm_hal.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/nv-kthread-q-selftest.c: At top level: nvidia-uvm/nv-kthread-q-selftest.c:84:6: warning: no previous prototype for 'on_nvq_assert' [-Wmissing-prototypes] 84 | void on_nvq_assert(void) | ^~~~~~~~~~~~~ In file included from nvidia-uvm/uvm_api.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from ././nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/nv-kthread-q-selftest.o] Error 1 ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ CC [M] nvidia-uvm/uvm_range_tree.o ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_hopper_sec2.o] Error 1 CC [M] nvidia-uvm/uvm_rb_tree.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_range_tree.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_tools.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm.c: At top level: nvidia-uvm/uvm.c:401:14: error: initialization of 'vm_fault_t (*)(struct vm_fault *)' {aka 'unsigned int (*)(struct vm_fault *)'} from incompatible pointer type 'vm_fault_t (*)(struct vm_area_struct *, struct vm_fault *)' {aka 'int (*)(struct vm_area_struct *, struct vm_fault *)'} [-Wincompatible-pointer-types] 401 | .fault = uvm_vm_fault_sigbus_entry | ^~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm.c:401:14: note: (near initialization for 'uvm_vm_ops_disabled.fault') nvidia-uvm/uvm.c:377:19: note: 'uvm_vm_fault_sigbus_entry' declared here 377 | static vm_fault_t uvm_vm_fault_sigbus_entry(struct vm_area_struct *vma, struct vm_fault *vmf) | ^~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm.c:654:21: error: initialization of 'vm_fault_t (*)(struct vm_fault *)' {aka 'unsigned int (*)(struct vm_fault *)'} from incompatible pointer type 'vm_fault_t (*)(struct vm_area_struct *, struct vm_fault *)' {aka 'int (*)(struct vm_area_struct *, struct vm_fault *)'} [-Wincompatible-pointer -types] 654 | .fault = uvm_vm_fault_entry, | ^~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm.c:654:21: note: (near initialization for 'uvm_vm_ops_managed.fault') nvidia-uvm/uvm.c:626:19: note: 'uvm_vm_fault_entry' declared here 626 | static vm_fault_t uvm_vm_fault_entry(struct vm_area_struct *vma, struct vm_fault *vmf) | ^~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm.c:655:21: error: initialization of 'vm_fault_t (*)(struct vm_fault *)' {aka 'unsigned int (*)(struct vm_fault *)'} from incompatible pointer type 'vm_fault_t (*)(struct vm_area_struct *, struct vm_fault *)' {aka 'int (*)(struct vm_area_struct *, struct vm_fault *)'} [-Wincompatible-pointer-types] 655 | .page_mkwrite = uvm_vm_fault_entry, | ^~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm.c:655:21: note: (near initialization for 'uvm_vm_ops_managed.page_mkwrite') nvidia-uvm/uvm.c:626:19: note: 'uvm_vm_fault_entry' declared here 626 | static vm_fault_t uvm_vm_fault_entry(struct vm_area_struct *vma, struct vm_fault *vmf) | ^~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm.c:750:21: error: initialization of 'vm_fault_t (*)(struct vm_fault *)' {aka 'unsigned int (*)(struct vm_fault *)'} from incompatible pointer type 'vm_fault_t (*)(struct vm_area_struct *, struct vm_fault *)' {aka 'int (*)(struct vm_area_struct *, struct vm_fault *)'} [-Wincompatible-pointer-types] 750 | .fault = uvm_vm_fault_sigbus_entry, | ^~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm.c:750:21: note: (near initialization for 'uvm_vm_ops_semaphore_pool.fault') nvidia-uvm/uvm.c:377:19: note: 'uvm_vm_fault_sigbus_entry' declared here 377 | static vm_fault_t uvm_vm_fault_sigbus_entry(struct vm_area_struct *vma, struct vm_fault *vmf) | ^~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm.o] Error 1 CC [M] nvidia-uvm/uvm_range_allocator.o ././common/inc/nv-linux.h: In function 'nv_vmalloc': In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_range_tree.h:27, from nvidia-uvm/uvm_range_allocator.h:27, from nvidia-uvm/uvm_range_allocator.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_api.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-list-helpers.h:27, from nvidia-uvm/uvm_rb_tree.h:32, from nvidia-uvm/uvm_rb_tree.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-linux.h: In function 'nv_vmalloc': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_rb_tree.o] Error 1 ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ CC [M] nvidia-uvm/uvm_va_range.o nvidia-uvm/uvm_tools.c: At top level: nvidia-uvm/uvm_tools.c:2317:5: warning: no previous prototype for 'uvm_tools_init' [-Wmissing-prototypes] 2317 | int uvm_tools_init(dev_t uvm_base_dev) | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base nvidia-uvm/uvm_tools.c:2378:6: warning: no previous prototype for 'uvm_tools_exit' [-Wmissing-prototypes] 2378 | void uvm_tools_exit(void) | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_va_range.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_tools.o] Error 1 ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia-uvm/uvm_va_policy.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_va_policy.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ cc1: some warnings being treated as errors ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_global.o] Error 1 CC [M] nvidia-uvm/uvm_va_block.o ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_va_block.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from nvidia-uvm/uvm_api.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': ././nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././nvidia-uvm/uvm_linux.h: At top level: ././nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ ././nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_va_space.h:28, from nvidia-uvm/uvm_va_space_mm.c:26: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_api.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ In file included from nvidia-uvm/uvm_api.h:31, from nvidia-uvm/uvm_gpu.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ cc1: some warnings being treated as errors nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_va_space_mm.o] Error 1 nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia-uvm/uvm_range_group.o ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_procfs.o] Error 1 In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ CC [M] nvidia-uvm/uvm_gpu_replayable_faults.o nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_range_tree.h:27, from nvidia-uvm/uvm_range_group.h:28, from nvidia-uvm/uvm_range_group.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from ././nvidia-uvm/uvm_linux.h:37, from ././common/inc/nv_uvm_interface.h:37, from nvidia-uvm/uvm_gpu_replayable_faults.c:25: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ In file included from ././common/inc/nv-procfs.h:26, from nvidia-uvm/uvm_procfs.h:30, from nvidia-uvm/uvm_gpu.c:31: nvidia-uvm/uvm_gpu.c: In function 'init_parent_procfs_files': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia-uvm/uvm_gpu.c:756:43: note: in expansion of macro 'NV_CREATE_PROC_FILE' 756 | parent_gpu->procfs.fault_stats_file = NV_CREATE_PROC_FILE("fault_stats", | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19, from ././common/inc/nv-linux.h:220: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia-uvm/uvm_gpu.c:763:47: note: in expansion of macro 'NV_CREATE_PROC_FILE' 763 | parent_gpu->procfs.access_counters_file = NV_CREATE_PROC_FILE("access_counters", | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors nvidia-uvm/uvm_gpu.c: In function 'init_procfs_files': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia-uvm/uvm_gpu.c:834:29: note: in expansion of macro 'NV_CREATE_PROC_FILE' 834 | gpu->procfs.info_file = NV_CREATE_PROC_FILE("info", gpu->procfs.dir, gpu_info_entry, gpu); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_va_space.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_gpu_semaphore.c: At top level: nvidia-uvm/uvm_gpu_semaphore.c:510:6: warning: no previous prototype for 'tracking_semaphore_uses_mutex' [-Wmissing-prototypes] 510 | bool tracking_semaphore_uses_mutex(uvm_gpu_tracking_semaphore_t *tracking_semaphore) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CC [M] nvidia-uvm/uvm_gpu_non_replayable_faults.o cc1: some warnings being treated as errors nvidia-uvm/uvm_gpu.c: At top level: nvidia-uvm/uvm_gpu.c:1884:12: warning: no previous prototype for 'uvm_gpu_get_by_parent_and_swizz_id_locked' [-Wmissing-prototypes] 1884 | uvm_gpu_t *uvm_gpu_get_by_parent_and_swizz_id_locked(uvm_parent_gpu_t *parent_gpu, NvU32 swizz_id) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from ././nvidia-uvm/uvm_linux.h:37, from ././common/inc/nv_uvm_interface.h:37, from nvidia-uvm/uvm_gpu_non_replayable_faults.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_gpu_isr.o] Error 1 nvidia-uvm/uvm_gpu.c: In function 'init_procfs_peer_cap_files': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia-uvm/uvm_gpu.c:2228:46: note: in expansion of macro 'NV_CREATE_PROC_FILE' 2228 | peer_caps->procfs.peer_file[local_idx] = NV_CREATE_PROC_FILE(gpu_dir_name, | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ CC [M] nvidia-uvm/uvm_gpu_access_counters.o cc1: some warnings being treated as errors In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_rm_mem.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_gpu_semaphore.o] Error 1 CC [M] nvidia-uvm/uvm_perf_events.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from ././nvidia-uvm/uvm_linux.h:37, from ././common/inc/nv_uvm_interface.h:37, from nvidia-uvm/uvm_gpu_access_counters.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_test.h:27, from nvidia-uvm/uvm_perf_events.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_mem.h:30: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_rm_mem.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia-uvm/uvm_perf_module.o ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_perf_events.h:27, from nvidia-uvm/uvm_perf_module.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ cc1: some warnings being treated as errors nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_gpu.o] Error 1 In file included from ././common/inc/nv-procfs.h:26, from nvidia-uvm/uvm_procfs.h:30, from nvidia-uvm/uvm_channel.c:30: nvidia-uvm/uvm_channel.c: In function 'manager_create_procfs': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia-uvm/uvm_channel.c:3575:38: note: in expansion of macro 'NV_CREATE_PROC_FILE' 3575 | manager->procfs.pending_pushes = NV_CREATE_PROC_FILE("pending_pushes", | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19, from ././common/inc/nv-linux.h:220: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_channel.c: In function 'channel_create_procfs': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia-uvm/uvm_channel.c:3648:28: note: in expansion of macro 'NV_CREATE_PROC_FILE' 3648 | channel->procfs.info = NV_CREATE_PROC_FILE("info", channel->procfs.dir, channel_info_entry, channel); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia-uvm/uvm_channel.c:3652:30: note: in expansion of macro 'NV_CREATE_PROC_FILE' 3652 | channel->procfs.pushes = NV_CREATE_PROC_FILE("pushes", channel->procfs.dir, channel_pushes_entry, channel); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ CC [M] nvidia-uvm/uvm_mmu.o In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_mmu.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_mem.o] Error 1 CC [M] nvidia-uvm/uvm_pte_batch.o cc1: some warnings being treated as errors cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_range_tree.o] Error 1 nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_channel.o] Error 1 CC [M] nvidia-uvm/uvm_tlb_batch.o CC [M] nvidia-uvm/uvm_push.o ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal_types.h:27, from nvidia-uvm/uvm_pte_batch.h:28, from nvidia-uvm/uvm_pte_batch.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal_types.h:27, from nvidia-uvm/uvm_tlb_batch.h:28, from nvidia-uvm/uvm_tlb_batch.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_extern_decl.h:27, from nvidia-uvm/uvm_push.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ cc1: some warnings being treated as errors ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_lock.o] Error 1 ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ CC [M] nvidia-uvm/uvm_pushbuffer.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_api.h:28, from nvidia-uvm/uvm_pushbuffer.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_hal.o] Error 1 ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ CC [M] nvidia-uvm/uvm_thread_context.o ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_lock.h:28, from nvidia-uvm/uvm_thread_context.h:28, from nvidia-uvm/uvm_thread_context.c:25: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from nvidia-uvm/uvm_range_allocator.h:28: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ In file included from nvidia-uvm/uvm_api.h:31, from nvidia-uvm/uvm_va_range.c:27: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ cc1: some warnings being treated as errors In file included from ././common/inc/nv-linux.h:34, from ././nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_range_allocator.o] Error 1 ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ CC [M] nvidia-uvm/uvm_tracker.o ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_tracker.h:29, from nvidia-uvm/uvm_tracker.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from ././nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sort.h:5, from nvidia-uvm/uvm_gpu_replayable_faults.c:24: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/nv-linux.h:34, from ././nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sort.h:5, from nvidia-uvm/uvm_gpu_access_counters.c:23: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_va_range.o] Error 1 CC [M] nvidia-uvm/uvm_maxwell.o ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal.h:28, from nvidia-uvm/uvm_maxwell.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from nvidia-uvm/uvm_api.h:31, from nvidia-uvm/uvm_va_block.c:26: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_pte_batch.h:29, from nvidia-uvm/uvm_va_block_types.h:28, from nvidia-uvm/uvm_va_policy.h:31, from nvidia-uvm/uvm_va_policy.c:27: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_va_policy.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ CC [M] nvidia-uvm/uvm_maxwell_host.o In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_maxwell_host.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././nvidia-uvm/uvm_linux.h: At top level: ././nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ ././nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-linux.h: In function 'nv_vmalloc': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from nvidia-uvm/uvm_api.h:31, from nvidia-uvm/uvm_gpu_non_replayable_faults.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_range_group.h:30: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': ././nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././nvidia-uvm/uvm_linux.h: At top level: ././nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ ././nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma cc1: some warnings being treated as errors ././nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': ././nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././nvidia-uvm/uvm_linux.h: At top level: ././nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ ././nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_gpu_non_replayable_faults.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma cc1: some warnings being treated as errors In file included from nvidia-uvm/uvm_perf_events.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': CC [M] nvidia-uvm/uvm_maxwell_ce.o nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_va_block.o] Error 1 CC [M] nvidia-uvm/uvm_maxwell_mmu.o ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from nvidia-uvm/uvm_perf_events.h:31, from nvidia-uvm/uvm_perf_events.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_gpu_replayable_faults.c:28: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal.h:28, from nvidia-uvm/uvm_maxwell_ce.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_gpu.h:31, from nvidia-uvm/uvm_maxwell_mmu.c:39: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_gpu_access_counters.c:26: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_range_group.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia-uvm/uvm_maxwell_fault_buffer.o cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_module.o] Error 1 In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_mmu.c:27: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_push.c:26: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ CC [M] nvidia-uvm/uvm_maxwell_access_counter_buffer.o In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31, from nvidia-uvm/uvm_tlb_batch.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_gpu.h:31, from nvidia-uvm/uvm_maxwell_fault_buffer.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_events.o] Error 1 CC [M] nvidia-uvm/uvm_pascal.o ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_gpu.h:31, from nvidia-uvm/uvm_maxwell_access_counter_buffer.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal.h:28, from nvidia-uvm/uvm_pascal.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from nvidia-uvm/uvm_api.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_push.o] Error 1 cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_tlb_batch.o] Error 1 CC [M] nvidia-uvm/uvm_pascal_ce.o ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir CC [M] nvidia-uvm/uvm_pascal_host.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_gpu_replayable_faults.o] Error 1 CC [M] nvidia-uvm/uvm_pascal_mmu.o nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal.h:28, from nvidia-uvm/uvm_pascal_ce.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ cc1: some warnings being treated as errors /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_pascal_host.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_mmu.c: At top level: nvidia-uvm/uvm_mmu.c:2290:11: warning: no previous prototype for 'create_static_vidmem_mapping' [-Wmissing-prototypes] 2290 | NV_STATUS create_static_vidmem_mapping(uvm_gpu_t *gpu) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_gpu_access_counters.o] Error 1 In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_extern_decl.h:27, from nvidia-uvm/uvm_global.h:28, from nvidia-uvm/uvm_pascal_mmu.c:36: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ CC [M] nvidia-uvm/uvm_pascal_fault_buffer.o ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_pascal_fault_buffer.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_pte_batch.h:29: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-procfs.h:26, from nvidia-uvm/uvm_procfs.h:30, from nvidia-uvm/uvm_pushbuffer.c:29: nvidia-uvm/uvm_pushbuffer.c: In function 'create_procfs': ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia-uvm/uvm_pushbuffer.c:69:36: note: in expansion of macro 'NV_CREATE_PROC_FILE' 69 | pushbuffer->procfs.info_file = NV_CREATE_PROC_FILE("pushbuffer", | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19, from ././common/inc/nv-linux.h:220: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': cc1: some warnings being treated as errors ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_mmu.o] Error 1 CC [M] nvidia-uvm/uvm_volta_ce.o ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir cc1: some warnings being treated as errors In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal.h:28, from nvidia-uvm/uvm_volta_ce.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ cc1: some warnings being treated as errors ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_thread_context.o] Error 1 CC [M] nvidia-uvm/uvm_volta_host.o nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pushbuffer.o] Error 1 nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ CC [M] nvidia-uvm/uvm_volta_mmu.o ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_volta_host.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * cc1: some warnings being treated as errors /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pte_batch.o] Error 1 In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_extern_decl.h:27, from nvidia-uvm/uvm_global.h:28, from nvidia-uvm/uvm_volta_mmu.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia-uvm/uvm_volta.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal.h:28, from nvidia-uvm/uvm_volta.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_tracker.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir cc1: some warnings being treated as errors nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_tracker.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_vmalloc': CC [M] nvidia-uvm/uvm_volta_fault_buffer.o ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_volta_fault_buffer.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ cc1: some warnings being treated as errors In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_maxwell.o] Error 1 CC [M] nvidia-uvm/uvm_volta_access_counter_buffer.o In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_volta_access_counter_buffer.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_maxwell_host.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_maxwell_host.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ CC [M] nvidia-uvm/uvm_turing.o ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal.h:28, from nvidia-uvm/uvm_turing.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31, from nvidia-uvm/uvm_pascal_host.c:26: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ cc1: some warnings being treated as errors nvidia-uvm/uvm_maxwell_mmu.c: At top level: nvidia-uvm/uvm_maxwell_mmu.c:359:21: warning: no previous prototype for 'uvm_hal_mmu_mode_maxwell' [-Wmissing-prototypes] 359 | uvm_mmu_mode_hal_t *uvm_hal_mmu_mode_maxwell(NvU32 big_page_size) | ^~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_maxwell_mmu.c:368:6: warning: no previous prototype for 'uvm_hal_maxwell_mmu_enable_prefetch_faults_unsupported' [-Wmissing-prototypes] 368 | void uvm_hal_maxwell_mmu_enable_prefetch_faults_unsupported(uvm_parent_gpu_t *parent_gpu) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pascal.o] Error 1 nvidia-uvm/uvm_maxwell_mmu.c:373:6: warning: no previous prototype for 'uvm_hal_maxwell_mmu_disable_prefetch_faults_unsupported' [-Wmissing-prototypes] 373 | void uvm_hal_maxwell_mmu_disable_prefetch_faults_unsupported(uvm_parent_gpu_t *parent_gpu) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia-uvm/uvm_maxwell_mmu.c:378:23: warning: no previous prototype for 'uvm_hal_maxwell_mmu_engine_id_to_type_unsupported' [-Wmissing-prototypes] 378 | uvm_mmu_engine_type_t uvm_hal_maxwell_mmu_engine_id_to_type_unsupported(NvU16 mmu_engine_id) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_maxwell_mmu.c:384:7: warning: no previous prototype for 'uvm_hal_maxwell_mmu_client_id_to_utlb_id_unsupported' [-Wmissing-prototypes] 384 | NvU16 uvm_hal_maxwell_mmu_client_id_to_utlb_id_unsupported(NvU16 client_id) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma CC [M] nvidia-uvm/uvm_turing_access_counter_buffer.o In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ cc1: some warnings being treated as errors nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_turing_access_counter_buffer.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_maxwell_mmu.o] Error 1 In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_pascal_fault_buffer.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ CC [M] nvidia-uvm/uvm_turing_fault_buffer.o cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_maxwell_access_counter_buffer.o] Error 1 CC [M] nvidia-uvm/uvm_turing_mmu.o ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_turing_fault_buffer.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': cc1: some warnings being treated as errors /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_maxwell_ce.o] Error 1 CC [M] nvidia-uvm/uvm_turing_host.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_extern_decl.h:27, from nvidia-uvm/uvm_global.h:28, from nvidia-uvm/uvm_turing_mmu.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal.h:28, from nvidia-uvm/uvm_turing_host.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ cc1: some warnings being treated as errors nvidia-uvm/uvm_pascal_fault_buffer.c: At top level: nvidia-uvm/uvm_pascal_fault_buffer.c:329:6: warning: no previous prototype for 'uvm_hal_pascal_fault_buffer_parse_non_replayable_entry_unsupported' [-Wmissing-prototypes] 329 | void uvm_hal_pascal_fault_buffer_parse_non_replayable_entry_unsupported(uvm_parent_gpu_t *parent_gpu, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_maxwell_fault_buffer.o] Error 1 nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ cc1: some warnings being treated as errors CC [M] nvidia-uvm/uvm_ampere.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pascal_host.o] Error 1 cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pascal_ce.o] Error 1 CC [M] nvidia-uvm/uvm_ampere_ce.o CC [M] nvidia-uvm/uvm_ampere_host.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pascal_fault_buffer.o] Error 1 CC [M] nvidia-uvm/uvm_ampere_mmu.o ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_extern_decl.h:27, from nvidia-uvm/uvm_global.h:28, from nvidia-uvm/uvm_ampere.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal.h:28, from nvidia-uvm/uvm_ampere_ce.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal.h:28, from nvidia-uvm/uvm_ampere_host.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_extern_decl.h:27, from nvidia-uvm/uvm_global.h:28, from nvidia-uvm/uvm_ampere_mmu.c:34: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_volta_mmu.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ CC [M] nvidia-uvm/uvm_hopper.o ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_volta_host.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_extern_decl.h:27, from nvidia-uvm/uvm_global.h:28, from nvidia-uvm/uvm_hopper.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ nvidia-uvm/uvm_pascal_mmu.c: At top level: nvidia-uvm/uvm_pascal_mmu.c:364:21: warning: no previous prototype for 'uvm_hal_mmu_mode_pascal' [-Wmissing-prototypes] 364 | uvm_mmu_mode_hal_t *uvm_hal_mmu_mode_pascal(NvU32 big_page_size) | ^~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_pascal_mmu.c:376:6: warning: no previous prototype for 'uvm_hal_pascal_mmu_enable_prefetch_faults' [-Wmissing-prototypes] 376 | void uvm_hal_pascal_mmu_enable_prefetch_faults(uvm_parent_gpu_t *parent_gpu) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_pascal_mmu.c:388:6: warning: no previous prototype for 'uvm_hal_pascal_mmu_disable_prefetch_faults' [-Wmissing-prototypes] 388 | void uvm_hal_pascal_mmu_disable_prefetch_faults(uvm_parent_gpu_t *parent_gpu) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_pascal_mmu.c:400:7: warning: no previous prototype for 'uvm_hal_pascal_mmu_client_id_to_utlb_id' [-Wmissing-prototypes] 400 | NvU16 uvm_hal_pascal_mmu_client_id_to_utlb_id(NvU16 client_id) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pascal_mmu.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia-uvm/uvm_hopper_fault_buffer.o ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal_types.h:27, from nvidia-uvm/uvm_hopper_fault_buffer.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ cc1: some warnings being treated as errors cc1: some warnings being treated as errors ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_volta_ce.o] Error 1 ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_volta_host.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir CC [M] nvidia-uvm/uvm_hopper_ce.o CC [M] nvidia-uvm/uvm_hopper_host.o ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal.h:28, from nvidia-uvm/uvm_hopper_host.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal.h:28, from nvidia-uvm/uvm_hopper_ce.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_volta_fault_buffer.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': cc1: some warnings being treated as errors ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_volta.o] Error 1 CC [M] nvidia-uvm/uvm_hopper_mmu.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_extern_decl.h:27, from nvidia-uvm/uvm_global.h:28, from nvidia-uvm/uvm_hopper_mmu.c:35: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_volta_fault_buffer.o] Error 1 CC [M] nvidia-uvm/uvm_ada.o In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_extern_decl.h:27, from nvidia-uvm/uvm_global.h:28, from nvidia-uvm/uvm_ada.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_volta_access_counter_buffer.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_volta_access_counter_buffer.o] Error 1 CC [M] nvidia-uvm/uvm_policy.o ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_processors.h:27, from nvidia-uvm/uvm_va_space.h:27, from nvidia-uvm/uvm_policy.c:25: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_turing.o] Error 1 CC [M] nvidia-uvm/uvm_perf_utils.o ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_perf_utils.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ampere.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma CC [M] nvidia-uvm/uvm_kvmalloc.o In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_turing_fault_buffer.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ampere_mmu.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia-uvm/uvm_pmm_sysmem.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_kvmalloc.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_gpu.h:31, from nvidia-uvm/uvm_pmm_sysmem.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_turing_mmu.o] Error 1 nvidia-uvm/uvm_hopper_fault_buffer.c:30:6: warning: no previous prototype for 'uvm_hal_hopper_fault_buffer_get_ve_id' [-Wmissing-prototypes] 30 | NvU8 uvm_hal_hopper_fault_buffer_get_ve_id(NvU16 mmu_engine_id, uvm_mmu_engine_type_t mmu_engine_type) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors CC [M] nvidia-uvm/uvm_pmm_gpu.o ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_hopper.o] Error 1 cc1: some warnings being treated as errors cc1: some warnings being treated as errors CC [M] nvidia-uvm/uvm_migrate.o In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_turing_access_counter_buffer.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_turing_fault_buffer.o] Error 1 make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_hopper_fault_buffer.o] Error 1 CC [M] nvidia-uvm/uvm_populate_pageable.o cc1: some warnings being treated as errors CC [M] nvidia-uvm/uvm_migrate_pageable.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_pmm_gpu.c:162: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_turing_host.o] Error 1 cc1: some warnings being treated as errors In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_migrate.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ CC [M] nvidia-uvm/uvm_map_external.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ampere_ce.o] Error 1 CC [M] nvidia-uvm/uvm_user_channel.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_populate_pageable.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_map_external.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_user_channel.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_migrate_pageable.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ampere_host.o] Error 1 CC [M] nvidia-uvm/uvm_hmm.o ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_turing_access_counter_buffer.o] Error 1 In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_va_block_types.h:27, from nvidia-uvm/uvm_hmm.h:29, from nvidia-uvm/uvm_hmm.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ CC [M] nvidia-uvm/uvm_perf_heuristics.o nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_perf_heuristics.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_hopper_mmu.o] Error 1 cc1: some warnings being treated as errors CC [M] nvidia-uvm/uvm_perf_thrashing.o ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_hopper_ce.o] Error 1 CC [M] nvidia-uvm/uvm_perf_prefetch.o ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_api.h:28, from nvidia-uvm/uvm_perf_thrashing.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_perf_prefetch.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_hopper_host.o] Error 1 CC [M] nvidia-uvm/uvm_ats.o ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_processors.h:27, from nvidia-uvm/uvm_va_space.h:27, from nvidia-uvm/uvm_ats.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ada.o] Error 1 ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ CC [M] nvidia-uvm/uvm_ats_ibm.o ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_api.h:28, from nvidia-uvm/uvm_ats_ibm.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_va_space.h:28: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_policy.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': CC [M] nvidia-uvm/uvm_ats_faults.o /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_api.h:28, from nvidia-uvm/uvm_ats_faults.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_kvmalloc.c:26: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmap': nvidia-uvm/uvm_linux.h: At top level: ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ cc1: some warnings being treated as errors nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_utils.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma CC [M] nvidia-uvm/uvm_test.o ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_api.h:28, from nvidia-uvm/uvm_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_kvmalloc.o] Error 1 CC [M] nvidia-uvm/uvm_test_rng.o nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from nvidia-uvm/uvm_map_external.c:27: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_test_rng.h:28, from nvidia-uvm/uvm_test_rng.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_migrate.c:27: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_populate_pageable.c:27: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_api.h:31, from nvidia-uvm/uvm_pmm_gpu.c:164: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_migrate_pageable.c:26: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_map_external.c: In function 'uvm_pte_buffer_init': nvidia-uvm/uvm_map_external.c:104:42: warning: implicit conversion from 'UvmGpuCachingType' to 'UvmRmGpuCachingType' [-Wenum-conversion] 104 | pte_buffer->mapping_info.cachingType = map_rm_params->caching_type; | ^ nvidia-uvm/uvm_map_external.c:105:42: warning: implicit conversion from 'UvmGpuMappingType' to 'UvmRmGpuMappingType' [-Wenum-conversion] 105 | pte_buffer->mapping_info.mappingType = map_rm_params->mapping_type; | ^ nvidia-uvm/uvm_map_external.c:106:41: warning: implicit conversion from 'UvmGpuFormatType' to 'UvmRmGpuFormatType' [-Wenum-conversion] 106 | pte_buffer->mapping_info.formatType = map_rm_params->format_type; | ^ nvidia-uvm/uvm_map_external.c:107:42: warning: implicit conversion from 'UvmGpuFormatElementBits' to 'UvmRmGpuFormatElementBits' [-Wenum-conversion] 107 | pte_buffer->mapping_info.elementBits = map_rm_params->element_bits; | ^ nvidia-uvm/uvm_map_external.c:108:46: warning: implicit conversion from 'UvmGpuCompressionType' to 'UvmRmGpuCompressionType' [-Wenum-conversion] 108 | pte_buffer->mapping_info.compressionType = map_rm_params->compression_type; | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_pte_batch.h:29, from nvidia-uvm/uvm_va_block_types.h:28: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ nvidia-uvm/uvm_pmm_sysmem.c: In function 'uvm_pmm_sysmem_mappings_split_gpu_mappings': nvidia-uvm/uvm_pmm_sysmem.c:294:13: error: implicit declaration of function 'NV_RADIX_TREE_REPLACE_SLOT'; did you mean 'NV_RADIX_TREE_REPLACE_SLOT_PRESENT'? [-Wimplicit-function-declaration] 294 | NV_RADIX_TREE_REPLACE_SLOT(&sysmem_mappings->reverse_map_tree, slot, new_reverse_maps[subregion - 1]); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ | NV_RADIX_TREE_REPLACE_SLOT_PRESENT In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_va_space.h:28, from nvidia-uvm/uvm_user_channel.c:26: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_migrate.o] Error 1 CC [M] nvidia-uvm/uvm_range_tree_test.o cc1: some warnings being treated as errors nvidia-uvm/uvm_populate_pageable.c: At top level: nvidia-uvm/uvm_populate_pageable.c:56:11: warning: no previous prototype for 'uvm_handle_fault' [-Wmissing-prototypes] 56 | NV_STATUS uvm_handle_fault(struct vm_area_struct *vma, unsigned long start, unsigned long vma_num_pages, bool write) | ^~~~~~~~~~~~~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_range_tree_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_map_external.o] Error 1 CC [M] nvidia-uvm/uvm_range_allocator_test.o cc1: some warnings being treated as errors In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_pte_batch.h:29, from nvidia-uvm/uvm_va_block_types.h:28, from nvidia-uvm/uvm_perf_thrashing.h:31, from nvidia-uvm/uvm_perf_heuristics.c:26: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_hmm.o] Error 1 cc1: some warnings being treated as errors ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * CC [M] nvidia-uvm/uvm_gpu_semaphore_test.o In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_populate_pageable.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ CC [M] nvidia-uvm/uvm_mem_test.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_range_allocator_test.c:25: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ cc1: some warnings being treated as errors ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ nvidia-uvm/uvm_migrate_pageable.c: At top level: ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_migrate_pageable.c:510:6: warning: no previous prototype for 'migrate_vma_cleanup_pages' [-Wmissing-prototypes] 510 | void migrate_vma_cleanup_pages(unsigned long *dst, unsigned long npages) | ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_extern_decl.h:27, from nvidia-uvm/uvm_global.h:28, from nvidia-uvm/uvm_gpu_semaphore_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ nvidia-uvm/uvm_migrate_pageable.c:556:6: warning: no previous prototype for 'uvm_migrate_vma_alloc_and_copy_helper' [-Wmissing-prototypes] 556 | void uvm_migrate_vma_alloc_and_copy_helper(struct vm_area_struct *vma, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_migrate_pageable.c:645:6: warning: no previous prototype for 'uvm_migrate_vma_finalize_and_map_helper' [-Wmissing-prototypes] 645 | void uvm_migrate_vma_finalize_and_map_helper(struct vm_area_struct *vma, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pmm_sysmem.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia-uvm/uvm_rm_mem_test.o ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal.h:28, from nvidia-uvm/uvm_mem_test.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_processors.h:27, from nvidia-uvm/uvm_rm_mem.h:28, from nvidia-uvm/uvm_rm_mem_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ cc1: some warnings being treated as errors In file included from nvidia-uvm/uvm_perf_events.h:31, from nvidia-uvm/uvm_perf_prefetch.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_migrate_pageable.o] Error 1 nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ CC [M] nvidia-uvm/uvm_page_tree_test.o nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_heuristics.o] Error 1 CC [M] nvidia-uvm/uvm_tracker_test.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_test.h:27, from nvidia-uvm/uvm_page_tree_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_lock.h:28, from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_tracker_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_user_channel.o] Error 1 CC [M] nvidia-uvm/uvm_push_test.o In file included from nvidia-uvm/uvm_api.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ cc1: some warnings being treated as errors In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_va_space.h:28: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pmm_gpu.o] Error 1 In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_extern_decl.h:27, from nvidia-uvm/uvm_global.h:28, from nvidia-uvm/uvm_push_test.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ CC [M] nvidia-uvm/uvm_channel_test.o cc1: some warnings being treated as errors In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_extern_decl.h:27, from nvidia-uvm/uvm_global.h:28, from nvidia-uvm/uvm_channel_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_prefetch.o] Error 1 CC [M] nvidia-uvm/uvm_ce_test.o ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_lock.h:28, from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_ce_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-procfs.h:26, from nvidia-uvm/uvm_procfs.h:30, from nvidia-uvm/uvm_perf_thrashing.c:34: nvidia-uvm/uvm_perf_thrashing.c: In function 'cpu_thrashing_stats_init': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia-uvm/uvm_perf_thrashing.c:450:45: note: in expansion of macro 'NV_CREATE_PROC_FILE' 450 | g_cpu_thrashing_stats.procfs_file = NV_CREATE_PROC_FILE(THRASHING_STATS_FILE_NAME, | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19, from ././common/inc/nv-linux.h:220: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_perf_thrashing.c: In function 'gpu_thrashing_stats_create': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia-uvm/uvm_perf_thrashing.c:505:34: note: in expansion of macro 'NV_CREATE_PROC_FILE' 505 | gpu_thrashing->procfs_file = NV_CREATE_PROC_FILE(THRASHING_STATS_FILE_NAME, | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ cc1: some warnings being treated as errors ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ats.o] Error 1 CC [M] nvidia-uvm/uvm_host_test.o nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_extern_decl.h:27, from nvidia-uvm/uvm_global.h:28, from nvidia-uvm/uvm_host_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ cc1: some warnings being treated as errors In file included from nvidia-uvm/uvm_api.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_thrashing.o] Error 1 CC [M] nvidia-uvm/uvm_lock_test.o ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_test.h:27, from nvidia-uvm/uvm_lock_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ats_ibm.o] Error 1 CC [M] nvidia-uvm/uvm_perf_utils_test.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_perf_utils.h:27, from nvidia-uvm/uvm_perf_utils_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/atomic.h:5, from nvidia-uvm/uvm_push_test.c:24: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from nvidia-uvm/uvm_api.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from nvidia-uvm/uvm_api.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ cc1: some warnings being treated as errors nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ats_faults.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia-uvm/uvm_kvmalloc_test.o In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_test_rng.o] Error 1 CC [M] nvidia-uvm/uvm_pmm_test.o ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_kvmalloc_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_pmm_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_test.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia-uvm/uvm_pmm_sysmem_test.o ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_test.h:27, from nvidia-uvm/uvm_pmm_sysmem_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_va_space.h:28, from nvidia-uvm/uvm_rm_mem_test.c:27: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma cc1: some warnings being treated as errors nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_range_tree_test.o] Error 1 CC [M] nvidia-uvm/uvm_perf_events_test.o ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ In file included from nvidia-uvm/uvm_range_allocator.h:28, from nvidia-uvm/uvm_range_allocator_test.c:26: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_perf_events.h:27, from nvidia-uvm/uvm_perf_events_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ cc1: some warnings being treated as errors In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_range_allocator_test.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir CC [M] nvidia-uvm/uvm_perf_module_test.o ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ cc1: some warnings being treated as errors cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_gpu_semaphore_test.o] Error 1 CC [M] nvidia-uvm/uvm_get_rm_ptes_test.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_kvmalloc.h:27, from nvidia-uvm/uvm_perf_module_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_rm_mem_test.o] Error 1 CC [M] nvidia-uvm/uvm_fault_buffer_flush_test.o ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_page_tree_test.c:26: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_fault_buffer_flush_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_test.h:27, from nvidia-uvm/uvm_get_rm_ptes_test.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma nvidia-uvm/uvm_channel_test.c: At top level: nvidia-uvm/uvm_channel_test.c:687:11: warning: no previous prototype for 'test_conf_computing_channel_selection' [-Wmissing-prototypes] 687 | NV_STATUS test_conf_computing_channel_selection(uvm_va_space_t *va_space) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_channel_test.c:749:11: warning: no previous prototype for 'test_write_ctrl_gpfifo_noop' [-Wmissing-prototypes] 749 | NV_STATUS test_write_ctrl_gpfifo_noop(uvm_va_space_t *va_space) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_channel_test.c:788:11: warning: no previous prototype for 'test_write_ctrl_gpfifo_and_pushes' [-Wmissing-prototypes] 788 | NV_STATUS test_write_ctrl_gpfifo_and_pushes(uvm_va_space_t *va_space) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_channel_test.c:836:11: warning: no previous prototype for 'test_write_ctrl_gpfifo_tight' [-Wmissing-prototypes] 836 | NV_STATUS test_write_ctrl_gpfifo_tight(uvm_va_space_t *va_space) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_mem_test.o] Error 1 CC [M] nvidia-uvm/uvm_peer_identity_mappings_test.o nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ cc1: some warnings being treated as errors In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_test.h:27, from nvidia-uvm/uvm_peer_identity_mappings_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_channel_test.o] Error 1 CC [M] nvidia-uvm/uvm_va_block_test.o cc1: some warnings being treated as errors In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_va_block_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_push_test.o] Error 1 CC [M] nvidia-uvm/uvm_range_group_tree_test.o cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_tracker_test.o] Error 1 CC [M] nvidia-uvm/uvm_thread_context_test.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_test.h:27, from nvidia-uvm/uvm_range_group_tree_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from nvidia-uvm/uvm_lock_test.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_page_tree_test.c: At top level: nvidia-uvm/uvm_page_tree_test.c:1514:8: warning: no previous prototype for 'get_page_sizes' [-Wmissing-prototypes] 1514 | size_t get_page_sizes(uvm_gpu_t *gpu, NvU32 *page_sizes) | ^~~~~~~~~~~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_api.h:28, from nvidia-uvm/uvm_thread_context_test.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ cc1: some warnings being treated as errors ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ce_test.o] Error 1 CC [M] nvidia-uvm/uvm_rb_tree_test.o In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_rb_tree_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ cc1: some warnings being treated as errors cc1: some warnings being treated as errors cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_lock_test.o] Error 1 make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_page_tree_test.o] Error 1 CC [M] nvidia-modeset/nvidia-modeset-linux.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_host_test.o] Error 1 CC [M] nvidia-modeset/nv-kthread-q.o CC [M] nvidia-drm/nvidia-drm.o ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from nvidia-drm/nvidia-drm-conftest.h:26, from nvidia-drm/nvidia-drm.h:26, from nvidia-drm/nvidia-drm.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm.o] Error 1 CC [M] nvidia-drm/nvidia-drm-drv.o ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/conftest.h:28, from nvidia-drm/nvidia-drm-conftest.h:26, from nvidia-drm/nvidia-drm-drv.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-drv.o] Error 1 CC [M] nvidia-drm/nvidia-drm-utils.o ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from nvidia-drm/nvidia-drm-conftest.h:26, from nvidia-drm/nvidia-drm-utils.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-utils.o] Error 1 CC [M] nvidia-drm/nvidia-drm-crtc.o ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from ././common/inc/conftest.h:28, from nvidia-drm/nvidia-drm-conftest.h:26, from nvidia-drm/nvidia-drm-crtc.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-crtc.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_vmalloc': CC [M] nvidia-drm/nvidia-drm-encoder.o ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from nvidia-drm/nvidia-drm-conftest.h:26, from nvidia-drm/nvidia-drm-encoder.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-encoder.o] Error 1 CC [M] nvidia-drm/nvidia-drm-connector.o ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from nvidia-drm/nvidia-drm-conftest.h:26, from nvidia-drm/nvidia-drm-connector.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-connector.o] Error 1 ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ CC [M] nvidia-drm/nvidia-drm-gem.o ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ In file included from nvidia-uvm/uvm_perf_events.h:31, from nvidia-uvm/uvm_perf_module.h:29, from nvidia-uvm/uvm_va_block.h:32, from nvidia-uvm/uvm_perf_utils_test.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-kthread-q.h:33, from nvidia-modeset/nv-kthread-q.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from nvidia-drm/nvidia-drm-conftest.h:26, from nvidia-drm/nvidia-drm-gem.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-gem.o] Error 1 CC [M] nvidia-drm/nvidia-drm-fb.o ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from nvidia-drm/nvidia-drm-conftest.h:26, from nvidia-drm/nvidia-drm-fb.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-fb.o] Error 1 CC [M] nvidia-drm/nvidia-drm-modeset.o ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/conftest.h:28, from nvidia-drm/nvidia-drm-conftest.h:26, from nvidia-drm/nvidia-drm-modeset.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-modeset.o] Error 1 CC [M] nvidia-drm/nvidia-drm-fence.o In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/conftest.h:28, from nvidia-drm/nvidia-drm-conftest.h:26, from nvidia-drm/nvidia-drm-fence.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-fence.o] Error 1 CC [M] nvidia-drm/nvidia-drm-linux.o ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_utils_test.o] Error 1 CC [M] nvidia-drm/nvidia-drm-helper.o In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from ././common/inc/conftest.h:28, from nvidia-drm/nvidia-drm-conftest.h:26, from nvidia-drm/nvidia-drm-helper.h:26, from nvidia-drm/nvidia-drm-helper.c:30: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-helper.o] Error 1 cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia-drm/nv-pci-table.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_kvmalloc_test.o] Error 1 CC [M] nvidia-drm/nvidia-drm-gem-nvkms-memory.o ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap': In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from nvidia-drm/nvidia-drm-conftest.h:26, from nvidia-drm/nvidia-drm-gem-nvkms-memory.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-gem-nvkms-memory.o] Error 1 CC [M] nvidia-drm/nvidia-drm-gem-user-memory.o In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_pmm_test.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from nvidia-modeset/nvidia-modeset-os-interface.h:40, from nvidia-modeset/nvidia-modeset-linux.c:47: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] In file included from ././common/inc/conftest.h:28, from nvidia-drm/nvidia-drm-conftest.h:26, from nvidia-drm/nvidia-drm-gem-user-memory.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-gem-user-memory.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia-drm/nvidia-drm-gem-dma-buf.o In file included from nvidia-modeset/nvidia-modeset-linux.c:54: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stat.h:19, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:13, from nvidia-modeset/nvidia-modeset-linux.c:24: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/umh.h:4, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kmod.h:9, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:17: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from nvidia-drm/nvidia-drm-conftest.h:26, from nvidia-drm/nvidia-drm-gem-dma-buf.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-gem-dma-buf.o] Error 1 CC [M] nvidia-drm/nvidia-drm-format.o nvidia-modeset/nv-kthread-q.c: In function 'thread_create_on_node': nvidia-modeset/nv-kthread-q.c:179:5: warning: 'static' is not at beginning of declaration [-Wold-style-declaration] 179 | const static unsigned attempts = 3; | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from nvidia-drm/nvidia-drm-conftest.h:26, from nvidia-drm/nvidia-drm-format.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-modeset/nv-kthread-q.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-format.o] Error 1 In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_pmm_sysmem_test.c:27: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ CC [M] nvidia-peermem/nvidia-peermem.o ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_pmm_test.c: At top level: nvidia-uvm/uvm_pmm_test.c:909:11: warning: no previous prototype for '__test_pmm_async_alloc_type' [-Wmissing-prototypes] 909 | NV_STATUS __test_pmm_async_alloc_type(uvm_va_space_t *va_space, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pmm_test.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ nvidia-modeset/nvidia-modeset-linux.c: In function 'nvkms_get_usec': nvidia-modeset/nvidia-modeset-linux.c:360:25: error: passing argument 1 of 'ktime_get_real_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 360 | ktime_get_real_ts64(&ts); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:44:52: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 44 | extern void ktime_get_real_ts64(struct timespec64 *tv); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-modeset/nvidia-modeset-linux.c: At top level: nvidia-modeset/nvidia-modeset-linux.c:1080:24: warning: no previous prototype for 'nvkms_open_common' [-Wmissing-prototypes] 1080 | struct nvkms_per_open *nvkms_open_common(enum NvKmsClientType type, | ^~~~~~~~~~~~~~~~~ nvidia-modeset/nvidia-modeset-linux.c:1132:6: warning: no previous prototype for 'nvkms_close_pm_locked' [-Wmissing-prototypes] 1132 | void nvkms_close_pm_locked(struct nvkms_per_open *popen) | ^~~~~~~~~~~~~~~~~~~~~ nvidia-modeset/nvidia-modeset-linux.c:1195:5: warning: no previous prototype for 'nvkms_ioctl_common' [-Wmissing-prototypes] 1195 | int nvkms_ioctl_common | ^~~~~~~~~~~~~~~~~~ nvidia-modeset/nvidia-modeset-linux.c: In function 'nvkms_add_proc_file': nvidia-modeset/nvidia-modeset-linux.c:1359:37: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 1359 | &nv_procfs_nvkms_proc_fops, file->func); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} In file included from ././common/inc/nv-procfs-utils.h:29, from ././common/inc/nv-procfs.h:26, from nvidia-modeset/nvidia-modeset-linux.c:52: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ nvidia-modeset/nvidia-modeset-linux.c: In function 'nvkms_config_file_open': nvidia-modeset/nvidia-modeset-linux.c:1465:41: error: passing argument 2 of 'kernel_read' makes pointer from integer without a cast [-Wint-conversion] 1465 | ssize_t ret = kernel_read(file, read_size, | ^~~~~~~~~ | | | size_t {aka long unsigned int} nvidia-uvm/uvm_pmm_sysmem_test.c: At top level: nvidia-uvm/uvm_pmm_sysmem_test.c:1070:11: warning: no previous prototype for 'do_test_cpu_chunk_free' [-Wmissing-prototypes] 1070 | NV_STATUS do_test_cpu_chunk_free(uvm_cpu_chunk_t *chunk, uvm_va_space_t *va_space, uvm_processor_mask_t *test_gpus) | ^~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compat.h:17, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/ia32.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/elf.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/elf.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:19: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:3187:43: note: expected 'void *' but argument is of type 'size_t' {aka 'long unsigned int'} 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *); | ^~~~~~ nvidia-modeset/nvidia-modeset-linux.c:1466:41: error: passing argument 3 of 'kernel_read' makes integer from pointer without a cast [-Wint-conversion] 1466 | *buff + read_size, | ~~~~~~^~~~~~~~~~~ | | | char * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:3187:51: note: expected 'size_t' {aka 'long unsigned int'} but argument is of type 'char *' 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *); | ^~~~~~ nvidia-modeset/nvidia-modeset-linux.c:1467:45: error: passing argument 4 of 'kernel_read' makes pointer from integer without a cast [-Wint-conversion] 1467 | file_size - read_size); | ~~~~~~~~~~^~~~~~~~~~~ | | | size_t {aka long unsigned int} /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:3187:59: note: expected 'loff_t *' {aka 'long long int *'} but argument is of type 'size_t' {aka 'long unsigned int'} 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *); | ^~~~~~~~ nvidia-uvm/uvm_pmm_sysmem_test.c:1166:11: warning: no previous prototype for 'test_cpu_chunk_free' [-Wmissing-prototypes] 1166 | NV_STATUS test_cpu_chunk_free(uvm_va_space_t *va_space, uvm_processor_mask_t *test_gpus) | ^~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from nvidia-uvm/uvm_perf_events.h:31, from nvidia-uvm/uvm_perf_module.h:29, from nvidia-uvm/uvm_perf_module_test.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-modeset/nvidia-modeset-linux.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pmm_sysmem_test.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_fault_buffer_flush_test.c:26: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ In file included from nvidia-uvm/uvm_perf_events.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma cc1: some warnings being treated as errors nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_module_test.o] Error 1 In file included from nvidia-uvm/uvm_perf_events.h:31, from nvidia-uvm/uvm_perf_module.h:29, from nvidia-uvm/uvm_va_block.h:32, from nvidia-uvm/uvm_va_block_test.c:28: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ In file included from ././common/inc/conftest.h:28, from nvidia-drm/nvidia-drm-conftest.h:26, from nvidia-drm/nvidia-drm-os-interface.h:26, from nvidia-drm/nvidia-drm-linux.c:27: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-linux.o] Error 1 nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_va_space.h:28, from nvidia-uvm/uvm_range_group_tree_test.c:26: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_get_rm_ptes_test.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_fault_buffer_flush_test.o] Error 1 cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_events_test.o] Error 1 In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_va_space.h:28, from nvidia-uvm/uvm_peer_identity_mappings_test.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir cc1: some warnings being treated as errors In file included from nvidia-uvm/uvm_api.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_va_block_test.o] Error 1 nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_rb_tree_test.o] Error 1 cc1: some warnings being treated as errors cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_range_group_tree_test.o] Error 1 make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_get_rm_ptes_test.o] Error 1 cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_peer_identity_mappings_test.o] Error 1 cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_thread_context_test.o] Error 1 In file included from ././common/inc/conftest.h:28, from nvidia-peermem/nvidia-peermem.c:39: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-peermem/nvidia-peermem.o] Error 1 make[4]: Target './' not remade because of errors. make[3]: *** [/usr/lib/modules/6.14.6-arch1-1/build/Makefile:1997: .] Error 2 make[3]: Target 'modules' not remade because of errors. make[2]: *** [/usr/lib/modules/6.14.6-arch1-1/build/Makefile:251: __sub-make] Error 2 make[2]: Target 'modules' not remade because of errors. make[2]: Leaving directory '/tmp/selfgz13746/NVIDIA-Linux-x86_64-535.161.07-grid/kernel' make[1]: *** [Makefile:251: __sub-make] Error 2 make[1]: Target 'modules' not remade because of errors. make[1]: Leaving directory '/usr/lib/modules/6.14.6-arch1-1/build' make: *** [Makefile:82: modules] Error 2 -> Error. ERROR: An error occurred while performing the step: "Building kernel modules". See /var/log/nvidia-installer.log for details. -> The command `cd ./kernel; /usr/bin/make -k -j16 NV_EXCLUDE_KERNEL_MODULES="" SYSSRC="/lib/modules/6.14.6-arch1-1/build" SYSOUT="/lib/modules/6.14.6-arch1-1/build" ` failed with the following output: make[1]: Entering directory '/usr/lib/modules/6.14.6-arch1-1/build' make[2]: Entering directory '/tmp/selfgz13746/NVIDIA-Linux-x86_64-535.161.07-grid/kernel' warning: the compiler differs from the one used to build the kernel The kernel was built by: gcc (GCC) 15.1.1 20250425 You are using: cc (GCC) 15.1.1 20250425 SYMLINK nvidia/nv-kernel.o SYMLINK nvidia-modeset/nv-modeset-kernel.o CONFTEST: hash__remap_4k_pfn CONFTEST: set_pages_uc CONFTEST: list_is_first CONFTEST: set_memory_uc CONFTEST: set_memory_array_uc CONFTEST: set_pages_array_uc CONFTEST: ioremap_cache CONFTEST: ioremap_wc CONFTEST: ioremap_driver_hardened CONFTEST: ioremap_driver_hardened_wc CONFTEST: ioremap_cache_shared CONFTEST: pci_get_domain_bus_and_slot CONFTEST: get_num_physpages CONFTEST: pde_data CONFTEST: xen_ioemu_inject_msi CONFTEST: phys_to_dma CONFTEST: get_dma_ops CONFTEST: dma_attr_macros CONFTEST: dma_map_page_attrs CONFTEST: write_cr4 CONFTEST: of_find_node_by_phandle CONFTEST: of_node_to_nid CONFTEST: pnv_pci_get_npu_dev CONFTEST: of_get_ibm_chip_id CONFTEST: pci_bus_address CONFTEST: pci_stop_and_remove_bus_device CONFTEST: pci_rebar_get_possible_sizes CONFTEST: wait_for_random_bytes CONFTEST: register_cpu_notifier CONFTEST: cpuhp_setup_state CONFTEST: dma_map_resource CONFTEST: get_backlight_device_by_name CONFTEST: timer_setup CONFTEST: pci_enable_msix_range CONFTEST: kernel_read_has_pointer_pos_arg CONFTEST: kernel_write_has_pointer_pos_arg CONFTEST: dma_direct_map_resource CONFTEST: tegra_get_platform CONFTEST: tegra_bpmp_send_receive CONFTEST: flush_cache_all CONFTEST: vmf_insert_pfn CONFTEST: jiffies_to_timespec CONFTEST: ktime_get_raw_ts64 CONFTEST: ktime_get_real_ts64 CONFTEST: full_name_hash CONFTEST: pci_enable_atomic_ops_to_root CONFTEST: vga_tryget CONFTEST: cc_platform_has CONFTEST: seq_read_iter CONFTEST: unsafe_follow_pfn CONFTEST: drm_gem_object_get CONFTEST: drm_gem_object_put_unlocked CONFTEST: add_memory_driver_managed CONFTEST: device_property_read_u64 CONFTEST: devm_of_platform_populate CONFTEST: of_dma_configure CONFTEST: of_property_count_elems_of_size CONFTEST: of_property_read_variable_u8_array CONFTEST: of_property_read_variable_u32_array CONFTEST: i2c_new_client_device CONFTEST: i2c_unregister_device CONFTEST: of_get_named_gpio CONFTEST: devm_gpio_request_one CONFTEST: gpio_direction_input CONFTEST: gpio_direction_output CONFTEST: gpio_get_value CONFTEST: gpio_set_value CONFTEST: gpio_to_irq CONFTEST: icc_get CONFTEST: icc_put CONFTEST: icc_set_bw CONFTEST: dma_buf_export_args CONFTEST: dma_buf_ops_has_kmap CONFTEST: dma_buf_ops_has_kmap_atomic CONFTEST: dma_buf_ops_has_map CONFTEST: dma_buf_ops_has_map_atomic CONFTEST: dma_buf_has_dynamic_attachment CONFTEST: dma_buf_attachment_has_peer2peer CONFTEST: dma_set_mask_and_coherent CONFTEST: devm_clk_bulk_get_all CONFTEST: get_task_ioprio CONFTEST: mdev_set_iommu_device CONFTEST: offline_and_remove_memory CONFTEST: crypto_tfm_ctx_aligned CONFTEST: wait_on_bit_lock_argument_count CONFTEST: radix_tree_empty CONFTEST: radix_tree_replace_slot CONFTEST: pnv_npu2_init_context CONFTEST: cpumask_of_node CONFTEST: ioasid_get CONFTEST: mm_pasid_drop CONFTEST: mmget_not_zero CONFTEST: mmgrab CONFTEST: iommu_sva_bind_device_has_drvdata_arg CONFTEST: vm_fault_to_errno CONFTEST: acpi_video_backlight_use_native CONFTEST: drm_dev_unref CONFTEST: drm_reinit_primary_mode_group CONFTEST: get_user_pages_remote CONFTEST: get_user_pages CONFTEST: pin_user_pages_remote CONFTEST: pin_user_pages CONFTEST: drm_gem_object_lookup CONFTEST: drm_atomic_state_ref_counting CONFTEST: drm_driver_has_gem_prime_res_obj CONFTEST: drm_atomic_helper_connector_dpms CONFTEST: drm_connector_funcs_have_mode_in_name CONFTEST: drm_connector_has_vrr_capable_property CONFTEST: drm_framebuffer_get CONFTEST: drm_dev_put CONFTEST: drm_format_num_planes CONFTEST: drm_connector_for_each_possible_encoder CONFTEST: drm_rotation_available CONFTEST: drm_vma_offset_exact_lookup_locked CONFTEST: nvhost_dma_fence_unpack CONFTEST: is_export_symbol_gpl_of_node_to_nid CONFTEST: is_export_symbol_gpl_sme_active CONFTEST: is_export_symbol_present_swiotlb_map_sg_attrs CONFTEST: is_export_symbol_present_swiotlb_dma_ops CONFTEST: is_export_symbol_present___close_fd CONFTEST: is_export_symbol_present_close_fd CONFTEST: is_export_symbol_present_get_unused_fd CONFTEST: is_export_symbol_present_get_unused_fd_flags CONFTEST: is_export_symbol_present_nvhost_get_default_device CONFTEST: is_export_symbol_present_nvhost_syncpt_unit_interface_get_byte_offset CONFTEST: is_export_symbol_present_nvhost_syncpt_unit_interface_get_aperture CONFTEST: is_export_symbol_present_tegra_dce_register_ipc_client CONFTEST: is_export_symbol_present_tegra_dce_unregister_ipc_client CONFTEST: is_export_symbol_present_tegra_dce_client_ipc_send_recv CONFTEST: is_export_symbol_present_dram_clk_to_mc_clk CONFTEST: is_export_symbol_present_get_dram_num_channels CONFTEST: is_export_symbol_present_tegra_dram_types CONFTEST: is_export_symbol_present_pxm_to_node CONFTEST: is_export_symbol_present_screen_info CONFTEST: is_export_symbol_gpl_screen_info CONFTEST: is_export_symbol_present_i2c_bus_status CONFTEST: is_export_symbol_present_tegra_fuse_control_read CONFTEST: is_export_symbol_present_tegra_get_platform CONFTEST: is_export_symbol_present_pci_find_host_bridge CONFTEST: is_export_symbol_present_tsec_comms_send_cmd CONFTEST: is_export_symbol_present_tsec_comms_set_init_cb CONFTEST: is_export_symbol_present_tsec_comms_clear_init_cb CONFTEST: is_export_symbol_present_tsec_comms_alloc_mem_from_gscco CONFTEST: is_export_symbol_present_tsec_comms_free_gscco_mem CONFTEST: is_export_symbol_present_memory_block_size_bytes CONFTEST: crypto CONFTEST: is_export_symbol_present_int_active_memcg CONFTEST: is_export_symbol_present_migrate_vma_setup CONFTEST: dma_ops CONFTEST: swiotlb_dma_ops CONFTEST: noncoherent_swiotlb_dma_ops CONFTEST: vm_fault_has_address CONFTEST: vm_insert_pfn_prot CONFTEST: vmf_insert_pfn_prot CONFTEST: vm_ops_fault_removed_vma_arg CONFTEST: kmem_cache_has_kobj_remove_work CONFTEST: sysfs_slab_unlink CONFTEST: proc_ops CONFTEST: timespec64 CONFTEST: vmalloc_has_pgprot_t_arg CONFTEST: mm_has_mmap_lock CONFTEST: pci_channel_state CONFTEST: pci_dev_has_ats_enabled CONFTEST: remove_memory_has_nid_arg CONFTEST: add_memory_driver_managed_has_mhp_flags_arg CONFTEST: num_registered_fb CONFTEST: pci_driver_has_driver_managed_dma CONFTEST: vm_area_struct_has_const_vm_flags CONFTEST: memory_failure_has_trapno_arg CONFTEST: backing_dev_info CONFTEST: mm_context_t CONFTEST: vm_fault_t CONFTEST: mmu_notifier_ops_invalidate_range CONFTEST: mmu_notifier_ops_arch_invalidate_secondary_tlbs CONFTEST: migrate_vma_added_flags CONFTEST: migrate_device_range CONFTEST: handle_mm_fault_has_mm_arg CONFTEST: handle_mm_fault_has_pt_regs_arg CONFTEST: mempolicy_has_unified_nodes CONFTEST: mempolicy_has_home_node CONFTEST: mpol_preferred_many_present CONFTEST: mmu_interval_notifier CONFTEST: drm_bus_present CONFTEST: drm_bus_has_bus_type CONFTEST: drm_bus_has_get_irq CONFTEST: drm_bus_has_get_name CONFTEST: drm_driver_has_device_list CONFTEST: drm_driver_has_legacy_dev_list CONFTEST: drm_driver_has_set_busid CONFTEST: drm_crtc_state_has_connectors_changed CONFTEST: drm_init_function_args CONFTEST: drm_helper_mode_fill_fb_struct CONFTEST: drm_master_drop_has_from_release_arg CONFTEST: drm_driver_unload_has_int_return_type CONFTEST: drm_atomic_helper_crtc_destroy_state_has_crtc_arg CONFTEST: drm_atomic_helper_plane_destroy_state_has_plane_arg CONFTEST: drm_mode_object_find_has_file_priv_arg CONFTEST: dma_buf_owner CONFTEST: drm_connector_list_iter CONFTEST: drm_atomic_helper_swap_state_has_stall_arg CONFTEST: drm_driver_prime_flag_present CONFTEST: drm_gem_object_has_resv CONFTEST: drm_crtc_state_has_async_flip CONFTEST: drm_crtc_state_has_pageflip_flags CONFTEST: drm_crtc_state_has_vrr_enabled CONFTEST: drm_format_modifiers_present CONFTEST: drm_vma_node_is_allowed_has_tag_arg CONFTEST: drm_vma_offset_node_has_readonly CONFTEST: drm_display_mode_has_vrefresh CONFTEST: drm_driver_master_set_has_int_return_type CONFTEST: drm_driver_has_gem_free_object CONFTEST: drm_prime_pages_to_sg_has_drm_device_arg CONFTEST: drm_driver_has_gem_prime_callbacks CONFTEST: drm_crtc_atomic_check_has_atomic_state_arg CONFTEST: drm_gem_object_vmap_has_map_arg CONFTEST: drm_plane_atomic_check_has_atomic_state_arg CONFTEST: drm_device_has_pdev CONFTEST: drm_crtc_state_has_no_vblank CONFTEST: drm_mode_config_has_allow_fb_modifiers CONFTEST: drm_has_hdr_output_metadata CONFTEST: dma_resv_add_fence CONFTEST: dma_resv_reserve_fences CONFTEST: reservation_object_reserve_shared_has_num_fences_arg CONFTEST: drm_connector_has_override_edid CONFTEST: drm_master_has_leases CONFTEST: drm_file_get_master CONFTEST: drm_modeset_lock_all_end CONFTEST: drm_connector_lookup CONFTEST: drm_connector_put CONFTEST: drm_driver_has_dumb_destroy CONFTEST: drm_unlocked_ioctl_flag_present CONFTEST: dom0_kernel_present CONFTEST: nvidia_vgpu_kvm_build CONFTEST: nvidia_grid_build CONFTEST: nvidia_grid_csp_build CONFTEST: pm_runtime_available CONFTEST: pci_class_multimedia_hd_audio CONFTEST: drm_available CONFTEST: vfio_pci_core_available CONFTEST: mdev_available CONFTEST: cmd_uphy_display_port_init CONFTEST: cmd_uphy_display_port_off CONFTEST: memory_failure_mf_sw_simulated_defined CONFTEST: drm_atomic_available CONFTEST: is_export_symbol_gpl_refcount_inc CONFTEST: is_export_symbol_gpl_refcount_dec_and_test CONFTEST: drm_alpha_blending_available CONFTEST: is_export_symbol_present_drm_gem_prime_fd_to_handle CONFTEST: is_export_symbol_present_drm_gem_prime_handle_to_fd CONFTEST: ib_peer_memory_symbols CC [M] nvidia/nv.o CC [M] nvidia/nv-pci.o CC [M] nvidia/nv-dmabuf.o CC [M] nvidia/nv-nano-timer.o CC [M] nvidia/nv-acpi.o CC [M] nvidia/nv-cray.o CC [M] nvidia/nv-dma.o CC [M] nvidia/nv-i2c.o CC [M] nvidia/nv-mmap.o CC [M] nvidia/nv-p2p.o CC [M] nvidia/nv-pat.o CC [M] nvidia/nv-procfs.o CC [M] nvidia/nv-usermap.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-acpi.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ CC [M] nvidia/nv-vm.o CC [M] nvidia/nv-vtophys.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-cray.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-dma.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ CC [M] nvidia/os-interface.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-mmap.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-p2p.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-pat.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-procfs.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-usermap.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-vtophys.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/os-interface.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-vm.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-nano-timer.c:30: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-p2p.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-pat.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-usermap.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-dma.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-acpi.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-mmap.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/os-interface.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-vtophys.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv.c:33: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-pci-types.h:28, from nvidia/nv-pci.c:25: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-nano-timer.c:31: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/nospec-branch.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/paravirt_types.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/ptrace.h:175, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/math_emu.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/processor.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/timex.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timex.h:67, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time32.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:60, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from nvidia/nv-nano-timer.c:27: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/array_size.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kernel.h:16, from nvidia/nv-nano-timer.c:26: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from ././common/inc/nv-pci.h:28, from nvidia/nv-pci.c:26: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/xarray.h:16, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/radix-tree.h:21, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/idr.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kernfs.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sysfs.h:16, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kobject.h:20, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/pci.h:35, from nvidia/nv-pci-table.h:27, from nvidia/nv-pci.c:24: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mutex.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kernfs.h:11: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/scatterlist.h:8, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/dmapool.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/pci.h:1662: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-cray.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/mei_uuid.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/mei.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mod_devicetable.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/pci.h:27: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-vm.c:26: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from nvidia/nv-vm.c:25: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv.c:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/umh.h:4, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kmod.h:9, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:17, from nvidia/nv.c:24: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/nospec-branch.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/paravirt_types.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/ptrace.h:175, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/math_emu.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/processor.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/timex.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timex.h:67, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time32.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:60, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stat.h:19, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:13: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/build_bug.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/container_of.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/list.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:12: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-procfs.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from ././common/inc/nv-dmabuf.h:27, from nvidia/nv-dmabuf.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/scatterlist.h:8, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/dma-buf.h:19, from nvidia/nv-dmabuf.c:23: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/nospec-branch.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/irqflags.h:9, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/irqflags.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/special_insns.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/io.h:45, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/io.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/iosys-map.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/dma-buf.h:16: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/io.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-i2c.c:28: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-i2c.c:29: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/slab.h:16, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/resource_ext.h:11, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/acpi.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/i2c.h:13, from nvidia/nv-i2c.c:26: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:8: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/memcontrol.h:21, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/swap.h:9, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/suspend.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/regulator/consumer.h:35, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/i2c.h:19: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/build_bug.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/bits.h:22, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ioport.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/acpi.h:12: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-usermap.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia/os-mlock.o ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia/os-interface.c: At top level: nvidia/os-interface.c:370:7: warning: no previous prototype for 'os_mem_copy_custom' [-Wmissing-prototypes] 370 | void *os_mem_copy_custom( | ^~~~~~~~~~~~~~~~~~ nvidia/os-interface.c: In function 'os_alloc_mem': ././common/inc/nv-linux.h:609:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 609 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/os-interface.c:584:13: note: in expansion of macro 'NV_KMALLOC_ATOMIC' 584 | NV_KMALLOC_ATOMIC(*address, alloc_size); | ^~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:624:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 624 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/os-interface.c:590:13: note: in expansion of macro 'NV_KMALLOC_NO_OOM' 590 | NV_KMALLOC_NO_OOM(*address, alloc_size); | ^~~~~~~~~~~~~~~~~ nvidia/os-interface.c: In function 'os_get_current_time': nvidia/os-interface.c:633:25: error: passing argument 1 of 'ktime_get_real_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 633 | ktime_get_real_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:44:52: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 44 | extern void ktime_get_real_ts64(struct timespec64 *tv); | ~~~~~~~~~~~~~~~~~~~^~ nvidia/os-interface.c: In function 'os_get_current_tick_hr': nvidia/os-interface.c:647:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 647 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia/os-interface.c: In function 'os_get_current_tick': nvidia/os-interface.c:656:21: error: storage size of 'ts' isn't known 656 | struct timespec ts; | ^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-pat.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir CC [M] nvidia/os-pci.o ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/os-mlock.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-vtophys.o] Error 1 nvidia/nv-pci.c: In function 'nv_pci_probe': ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 602 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-pci.c:396:5: note: in expansion of macro 'NV_KZALLOC' 396 | NV_KZALLOC(nvl, sizeof(nv_linux_state_t)); | ^~~~~~~~~~ CC [M] nvidia/os-registry.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/os-pci.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ nvidia/nv-dma.c: At top level: nvidia/nv-dma.c:293:6: warning: no previous prototype for 'nv_load_dma_map_scatterlist' [-Wmissing-prototypes] 293 | void nv_load_dma_map_scatterlist( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia/nv-dma.c:489:23: warning: no previous prototype for 'nv_dma_unmap_sgt' [-Wmissing-prototypes] 489 | NV_STATUS NV_API_CALL nv_dma_unmap_sgt( | ^~~~~~~~~~~~~~~~ nvidia/os-interface.c:657:5: error: implicit declaration of function 'jiffies_to_timespec'; did you mean 'jiffies_to_timespec64'? [-Wimplicit-function-declaration] 657 | jiffies_to_timespec(jiffies, &ts); | ^~~~~~~~~~~~~~~~~~~ | jiffies_to_timespec64 nvidia/nv-mmap.c: At top level: nvidia/nv-mmap.c:299:15: error: initialization of 'vm_fault_t (*)(struct vm_fault *)' {aka 'unsigned int (*)(struct vm_fault *)'} from incompatible pointer type 'vm_fault_t (*)(struct vm_area_struct *, struct vm_fault *)' {aka 'int (*)(struct vm_area_struct *, struct vm_fault *)'} [-Wincompatible-pointer-types] 299 | .fault = nvidia_fault, | ^~~~~~~~~~~~ nvidia/nv-mmap.c:299:15: note: (near initialization for 'nv_vm_ops.fault') nvidia/nv-mmap.c:201:19: note: 'nvidia_fault' declared here 201 | static vm_fault_t nvidia_fault( | ^~~~~~~~~~~~ nvidia/nv-mmap.c:303:5: warning: conflicting types for 'nv_encode_caching' due to enum/integer mismatch; have 'int(pgprot_t *, NvU32, nv_memory_type_t)' {aka 'int(struct pgprot *, unsigned int, nv_memory_type_t)'} [-Wenum-int-mismatch] 303 | int nv_encode_caching( | ^~~~~~~~~~~~~~~~~ In file included from ././common/inc/nv-linux.h:1761: ././common/inc/nv-proto.h:46:13: note: previous declaration of 'nv_encode_caching' with type 'int(pgprot_t *, NvU32, NvU32)' {aka 'int(struct pgprot *, unsigned int, unsigned int)'} 46 | int nv_encode_caching (pgprot_t *, NvU32, NvU32); | ^~~~~~~~~~~~~~~~~ nvidia/nv-mmap.c:371:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration] 371 | int static nvidia_mmap_peer_io( | ^~~ nvidia/nv-mmap.c:392:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration] 392 | int static nvidia_mmap_sysmem( | ^~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-p2p.o] Error 1 ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/os-registry.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ CC [M] nvidia/os-usermap.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-acpi.o] Error 1 CC [M] nvidia/nv-modeset-interface.o nvidia/os-interface.c:658:20: error: implicit declaration of function 'timespec_to_ns'; did you mean 'timespec64_to_ns'? [-Wimplicit-function-declaration] 658 | return (NvU64) timespec_to_ns(&ts); | ^~~~~~~~~~~~~~ | timespec64_to_ns nvidia/os-interface.c:656:21: warning: unused variable 'ts' [-Wunused-variable] 656 | struct timespec ts; | ^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-pci.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma nvidia/os-interface.c: In function 'os_queue_work_item': ././common/inc/nv-linux.h:609:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 609 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/os-interface.c:1113:5: note: in expansion of macro 'NV_KMALLOC_ATOMIC' 1113 | NV_KMALLOC_ATOMIC(oqd, sizeof(os_queue_data_t)); | ^~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma CC [M] nvidia/nv-pci-table.o nvidia/os-interface.c: In function 'os_write_file': nvidia/os-interface.c:1792:54: error: passing argument 4 of 'kernel_write' makes pointer from integer without a cast [-Wint-conversion] 1792 | num_written = kernel_write(pFile, pBuffer, size, f_pos); | ^~~~~ | | | loff_t {aka long long int} nvidia/os-interface.c:1792:54: note: possible fix: take the address with '&' 1792 | num_written = kernel_write(pFile, pBuffer, size, f_pos); | ^~~~~ | & In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/huge_mm.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:1133: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:3189:66: note: expected 'loff_t *' {aka 'long long int *'} but argument is of type 'loff_t' {aka 'long long int'} 3189 | extern ssize_t kernel_write(struct file *, const void *, size_t, loff_t *); | ^~~~~~~~ nvidia/os-interface.c: In function 'os_read_file': nvidia/os-interface.c:1832:35: error: passing argument 2 of 'kernel_read' makes pointer from integer without a cast [-Wint-conversion] 1832 | num_read = kernel_read(pFile, f_pos, pBuffer, size); | ^~~~~ | | | loff_t {aka long long int} make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-dma.o] Error 1 /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:3187:43: note: expected 'void *' but argument is of type 'loff_t' {aka 'long long int'} 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *); | ^~~~~~ nvidia/os-interface.c:1832:42: error: passing argument 3 of 'kernel_read' makes integer from pointer without a cast [-Wint-conversion] 1832 | num_read = kernel_read(pFile, f_pos, pBuffer, size); | ^~~~~~~ | | | NvU8 * {aka unsigned char *} /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:3187:51: note: expected 'size_t' {aka 'long unsigned int'} but argument is of type 'NvU8 *' {aka 'unsigned char *'} 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *); | ^~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia/os-interface.c:1832:51: error: passing argument 4 of 'kernel_read' makes pointer from integer without a cast [-Wint-conversion] 1832 | num_read = kernel_read(pFile, f_pos, pBuffer, size); | ^~~~ | | | NvU64 {aka long long unsigned int} /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:3187:59: note: expected 'loff_t *' {aka 'long long int *'} but argument is of type 'NvU64' {aka 'long long unsigned int'} 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *); | ^~~~~~~~ nvidia/os-interface.c: In function 'os_alloc_wait_queue': ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/os-interface.c:1945:5: note: in expansion of macro 'NV_KMALLOC' 1945 | NV_KMALLOC(*wq, sizeof(os_wait_queue)); | ^~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/os-usermap.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ CC [M] nvidia/nv-kthread-q.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-mmap.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-modeset-interface.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ CC [M] nvidia/nv-memdbg.o ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-i2c.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': CC [M] nvidia/nv-ibmnpu.o ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from nvidia/nv-memdbg.c:25: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-interface.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir CC [M] nvidia/nv-report-err.o nvidia/nv-nano-timer.c: In function 'nv_alloc_nano_timer': ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-nano-timer.c:86:5: note: in expansion of macro 'NV_KMALLOC' 86 | NV_KMALLOC(nv_nstimer, sizeof(nv_nano_timer_t)); | ^~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from nvidia/nv-ibmnpu.c:27: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from nvidia/nv-report-err.c:25: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-nano-timer.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/sound/hdaudio.h:18, from nvidia/nv.c:70: /usr/lib/modules/6.14.6-arch1-1/build/include/sound/pcm.h: In function 'snd_pcm_gettime': /usr/lib/modules/6.14.6-arch1-1/build/include/sound/pcm.h:1292:32: error: passing argument 1 of 'ktime_get_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 1292 | ktime_get_ts64(tv); | ^~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:43:47: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 43 | extern void ktime_get_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/sound/pcm.h:1295:36: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 1295 | ktime_get_raw_ts64(tv); | ^~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/sound/pcm.h:1298:37: error: passing argument 1 of 'ktime_get_real_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 1298 | ktime_get_real_ts64(tv); | ^~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:44:52: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 44 | extern void ktime_get_real_ts64(struct timespec64 *tv); | ~~~~~~~~~~~~~~~~~~~^~ CC [M] nvidia/nv-rsync.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-cray.o] Error 1 nvidia/nv.c: In function 'nvos_create_alloc': ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 602 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv.c:262:5: note: in expansion of macro 'NV_KZALLOC' 262 | NV_KZALLOC(at, sizeof(nv_alloc_t)); | ^~~~~~~~~~ CC [M] nvidia/nv-msi.o nvidia/nv.c: At top level: nvidia/nv.c:735:12: warning: no previous prototype for 'nvidia_init_module' [-Wmissing-prototypes] 735 | int __init nvidia_init_module(void) | ^~~~~~~~~~~~~~~~~~ nvidia/nv.c:855:6: warning: no previous prototype for 'nvidia_exit_module' [-Wmissing-prototypes] 855 | void nvidia_exit_module(void) | ^~~~~~~~~~~~~~~~~~ nvidia/nv.c: In function 'nv_alloc_file_private': ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 602 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv.c:879:5: note: in expansion of macro 'NV_KZALLOC' 879 | NV_KZALLOC(nvlfp, sizeof(nv_linux_file_private_t)); | ^~~~~~~~~~ nvidia/nv.c: At top level: nvidia/nv.c:1124:23: warning: no previous prototype for 'nv_get_num_dpaux_instances' [-Wmissing-prototypes] 1124 | NV_STATUS NV_API_CALL nv_get_num_dpaux_instances(nv_state_t *nv, NvU32 *num_instances) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia/nv-vm.c: In function 'nv_set_memory_array_type': nvidia/nv-vm.c:92:13: error: implicit declaration of function 'set_memory_array_uc'; did you mean 'set_pages_array_uc'? [-Wimplicit-function-declaration] 92 | set_memory_array_uc(pages, num_pages); | ^~~~~~~~~~~~~~~~~~~ | set_pages_array_uc In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from nvidia/nv-rsync.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ nvidia/nv.c: In function 'nvidia_ioctl': ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv.c:2104:5: note: in expansion of macro 'NV_KMALLOC' 2104 | NV_KMALLOC(arg_copy, arg_size); | ^~~~~~~~~~ nvidia/nv-procfs.c: In function 'nv_procfs_open_file': ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 602 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-procfs.c:276:5: note: in expansion of macro 'NV_KZALLOC' 276 | NV_KZALLOC(nvpp, sizeof(nv_procfs_private_t)); | ^~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-dmabuf.o] Error 1 ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv.c:2165:13: note: in expansion of macro 'NV_KMALLOC' 2165 | NV_KMALLOC(nvlfp->attached_gpus, arg_size); | ^~~~~~~~~~ nvidia/nv-procfs.c: At top level: nvidia/nv-procfs.c:698:1: warning: no previous prototype for 'exercise_error_forwarding_va' [-Wmissing-prototypes] 698 | exercise_error_forwarding_va( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia/nv.c: In function 'nv_map_guest_pages': ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv.c:2805:5: note: in expansion of macro 'NV_KMALLOC' 2805 | NV_KMALLOC(pages, sizeof(struct page *) * page_count); | ^~~~~~~~~~ CC [M] nvidia/nv-caps.o In file included from ././common/inc/nv-procfs.h:26, from nvidia/nv-procfs.c:31: nvidia/nv-procfs.c: In function 'nv_procfs_add_text_file': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1312:5: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1312 | NV_CREATE_PROC_FILE(filename, parent, text_file, (void *)text); | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19, from ././common/inc/nv-linux.h:220: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from ././common/inc/nv-msi.h:27, from nvidia/nv-msi.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ nvidia/nv.c: In function 'nv_alloc_kernel_mapping': ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv.c:3282:13: note: in expansion of macro 'NV_KMALLOC' 3282 | NV_KMALLOC(pages, sizeof(struct page *) * page_count); | ^~~~~~~~~~ nvidia/nv-procfs.c: In function 'nv_procfs_init': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1342:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1342 | entry = NV_CREATE_PROC_FILE("params", proc_nvidia, params, NULL); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1346:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1346 | entry = NV_CREATE_PROC_FILE("registry", proc_nvidia, registry, NULL); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1351:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1351 | entry = NV_CREATE_PROC_FILE("suspend_depth", proc_nvidia, suspend_depth, NULL); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1355:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1355 | entry = NV_CREATE_PROC_FILE("suspend", proc_nvidia, suspend, NULL); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1377:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1377 | entry = NV_CREATE_PROC_FILE("version", proc_nvidia, version, NULL); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ nvidia/nv.c: In function 'nv_post_event': nvidia/nv-procfs.c: In function 'nv_procfs_add_gpu': ././common/inc/nv-linux.h:609:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 609 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv.c:3554:9: note: in expansion of macro 'NV_KMALLOC_ATOMIC' 3554 | NV_KMALLOC_ATOMIC(nvet, sizeof(nvidia_event_t)); | ^~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1419:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1419 | entry = NV_CREATE_PROC_FILE("information", proc_nvidia_gpu, gpu_info, | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1424:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1424 | entry = NV_CREATE_PROC_FILE("registry", proc_nvidia_gpu, registry, nv); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1428:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1428 | entry = NV_CREATE_PROC_FILE("power", proc_nvidia_gpu, power, nv); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1434:17: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1434 | entry = NV_CREATE_PROC_FILE("exercise_error_forwarding", proc_nvidia_gpu, | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1442:17: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1442 | entry = NV_CREATE_PROC_FILE("unbindLock", proc_nvidia_gpu, unbind_lock, nv); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1449:17: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1449 | entry = NV_CREATE_PROC_FILE("numa_status", proc_nvidia_gpu, numa_status, | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1454:17: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1454 | entry = NV_CREATE_PROC_FILE("offline_pages", proc_nvidia_gpu, offline_pages, | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from nvidia/nv-caps.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ nvidia/nv-vm.c:95:13: error: implicit declaration of function 'set_memory_array_wb'; did you mean 'set_pages_array_wb'? [-Wimplicit-function-declaration] 95 | set_memory_array_wb(pages, num_pages); | ^~~~~~~~~~~~~~~~~~~ | set_pages_array_wb make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-procfs.o] Error 1 CC [M] nvidia/nv-frontend.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv.o] Error 1 CC [M] nvidia/nv_uvm_interface.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-vm.o] Error 1 In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-frontend.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ CC [M] nvidia/libspdm_aead.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv_uvm_interface.c:32: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from nvidia/internal_crypt_lib.h:32, from nvidia/libspdm_aead.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-kthread-q.h:33, from nvidia/nv-kthread-q.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ nvidia/libspdm_aead.c:41:5: warning: no previous prototype for 'libspdm_aead_prealloc' [-Wmissing-prototypes] 41 | int libspdm_aead_prealloc(void **context, char const *alg) | ^~~~~~~~~~~~~~~~~~~~~ nvidia/libspdm_aead.c:171:5: warning: no previous prototype for 'libspdm_aead_prealloced' [-Wmissing-prototypes] 171 | int libspdm_aead_prealloced(void *context, | ^~~~~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/libspdm_aead.o] Error 1 CC [M] nvidia/libspdm_ecc.o CC [M] nvidia/libspdm_hkdf.o In file included from ././common/inc/conftest.h:28, from nvidia/internal_crypt_lib.h:32, from nvidia/libspdm_hkdf.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia/os-mlock.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/os-pci.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia/os-registry.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-modeset-interface.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/libspdm_hkdf.o] Error 1 In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ CC [M] nvidia/libspdm_rand.o ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/os-usermap.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ CC [M] nvidia/libspdm_shash.o ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from nvidia/internal_crypt_lib.h:32, from nvidia/libspdm_shash.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ nvidia/nv-kthread-q.c: In function 'thread_create_on_node': nvidia/nv-kthread-q.c:179:5: warning: 'static' is not at beginning of declaration [-Wold-style-declaration] 179 | const static unsigned attempts = 3; | ^~~~~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-kthread-q.o] Error 1 CC [M] nvidia/libspdm_aead_aes_gcm.o CC [M] nvidia/libspdm_sha.o ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ CC [M] nvidia/libspdm_hmac_sha.o In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: CC [M] nvidia/libspdm_hkdf_sha.o ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/libspdm_shash.o] Error 1 In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-frontend.c:25: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base CC [M] nvidia/libspdm_ec.o ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia/libspdm_x509.o In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ CC [M] nvidia/nvlink_linux.o In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ CC [M] nvidia/nvlink_caps.o In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ CC [M] nvidia/linux_nvswitch.o In file included from ././common/inc/conftest.h:28, from nvidia/nvlink_linux.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv_uvm_interface.c:33: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from nvidia/linux_nvswitch.h:28, from nvidia/linux_nvswitch.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia/os-mlock.c: In function 'nv_follow_pfn': nvidia/os-mlock.c:34:12: error: implicit declaration of function 'unsafe_follow_pfn'; did you mean 'nv_follow_pfn'? [-Wimplicit-function-declaration] 34 | return unsafe_follow_pfn(vma, address, pfn); | ^~~~~~~~~~~~~~~~~ | nv_follow_pfn ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-mlock.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia/procfs_nvswitch.o ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-pci.o] Error 1 CC [M] nvidia/i2c_nvswitch.o ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from nvidia/linux_nvswitch.h:28, from nvidia/procfs_nvswitch.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from nvidia/linux_nvswitch.h:28, from nvidia/i2c_nvswitch.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-registry.o] Error 1 CC [M] nvidia-uvm/uvm_ats_sva.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-modeset-interface.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': CC [M] nvidia-uvm/uvm_conf_computing.o ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_gpu.h:31, from nvidia-uvm/uvm_ats_sva.h:27, from nvidia-uvm/uvm_ats_sva.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_conf_computing.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-report-err.o] Error 1 ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ CC [M] nvidia-uvm/uvm_sec2_test.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-memdbg.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': CC [M] nvidia-uvm/uvm_maxwell_sec2.o ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from ././nvidia-uvm/uvm_linux.h:37, from ././nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_sec2_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_gpu.h:31, from nvidia-uvm/uvm_maxwell_sec2.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ nvidia/nv-ibmnpu.c: At top level: nvidia/nv-ibmnpu.c:395:6: warning: no previous prototype for 'nv_init_ibmnpu_info' [-Wmissing-prototypes] 395 | void nv_init_ibmnpu_info(nv_state_t *nv) | ^~~~~~~~~~~~~~~~~~~ nvidia/nv-ibmnpu.c:399:6: warning: no previous prototype for 'nv_destroy_ibmnpu_info' [-Wmissing-prototypes] 399 | void nv_destroy_ibmnpu_info(nv_state_t *nv) | ^~~~~~~~~~~~~~~~~~~~~~ nvidia/nv-ibmnpu.c:403:5: warning: no previous prototype for 'nv_init_ibmnpu_devices' [-Wmissing-prototypes] 403 | int nv_init_ibmnpu_devices(nv_state_t *nv) | ^~~~~~~~~~~~~~~~~~~~~~ nvidia/nv-ibmnpu.c:408:6: warning: no previous prototype for 'nv_unregister_ibmnpu_devices' [-Wmissing-prototypes] 408 | void nv_unregister_ibmnpu_devices(nv_state_t *nv) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia/nv-ibmnpu.c:428:5: warning: no previous prototype for 'nv_get_ibmnpu_chip_id' [-Wmissing-prototypes] 428 | int nv_get_ibmnpu_chip_id(nv_state_t *nv) | ^~~~~~~~~~~~~~~~~~~~~ nvidia/nv-ibmnpu.c:437:6: warning: no previous prototype for 'nv_ibmnpu_cache_flush_numa_region' [-Wmissing-prototypes] 437 | void nv_ibmnpu_cache_flush_numa_region(nv_state_t *nv) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-usermap.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma CC [M] nvidia-uvm/uvm_hopper_sec2.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-ibmnpu.o] Error 1 CC [M] nvidia-uvm/uvm_common.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal.h:28, from nvidia-uvm/uvm_hopper_sec2.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-rsync.o] Error 1 In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_common.c:20: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ CC [M] nvidia-uvm/uvm_linux.o ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_linux.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-frontend.o] Error 1 CC [M] nvidia-uvm/nvstatus.o ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ nvidia/nv-msi.c: In function 'nv_init_msi': ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 602 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-msi.c:39:9: note: in expansion of macro 'NV_KZALLOC' 39 | NV_KZALLOC(nvl->irq_count, sizeof(nv_irq_count_info_t) * nvl->num_intr); | ^~~~~~~~~~ nvidia/nv-msi.c: In function 'nv_init_msix': ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-msi.c:90:5: note: in expansion of macro 'NV_KMALLOC' 90 | NV_KMALLOC(nvl->msix_entries, sizeof(struct msix_entry) * num_intr); | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 602 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-msi.c:102:5: note: in expansion of macro 'NV_KZALLOC' 102 | NV_KZALLOC(nvl->irq_count, sizeof(nv_irq_count_info_t) * num_intr); | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-msi.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir CC [M] nvidia-uvm/nv-kthread-q.o CC [M] nvidia-uvm/nvCpuUuid.o CC [M] nvidia-uvm/nv-kthread-q-selftest.o ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ CC [M] nvidia-uvm/uvm.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv_uvm_interface.o] Error 1 In file included from ././common/inc/nv-linux.h:34, from nvidia/nvlink_linux.c:30: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/xarray.h:16, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/list_lru.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:13, from nvidia/nvlink_linux.h:30, from nvidia/nvlink_linux.c:27: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from nvidia/nvlink_linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/build_bug.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/init.h:5, from nvidia/nvlink_linux.h:27: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ CC [M] nvidia-uvm/uvm_tools.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_api.h:28, from nvidia-uvm/uvm.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stat.h:19, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:10: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_tools.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia/nv-caps.c: At top level: nvidia/nv-caps.c:269:5: warning: no previous prototype for 'nv_cap_procfs_init' [-Wmissing-prototypes] 269 | int nv_cap_procfs_init(void) | ^~~~~~~~~~~~~~~~~~ In file included from ././common/inc/nv-procfs.h:26, from nvidia/nv-caps.c:26: nvidia/nv-caps.c: In function 'nv_cap_procfs_init': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-caps.c:279:18: note: in expansion of macro 'NV_CREATE_PROC_FILE' 279 | file_entry = NV_CREATE_PROC_FILE("mig-minors", nv_cap_procfs_dir, | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19, from ././common/inc/nv-linux.h:220: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-caps.c:286:18: note: in expansion of macro 'NV_CREATE_PROC_FILE' 286 | file_entry = NV_CREATE_PROC_FILE("nvlink-minors", nv_cap_procfs_dir, | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-caps.c:293:18: note: in expansion of macro 'NV_CREATE_PROC_FILE' 293 | file_entry = NV_CREATE_PROC_FILE("sys-minors", nv_cap_procfs_dir, | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/string.h:392, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/bitmap.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/cpumask.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/paravirt.h:21, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/irqflags.h:102, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/irqflags.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:59: nvidia/nv-caps.c: In function 'nv_cap_find_minor': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fortify-string.h:259:38: error: passing argument 2 of 'full_name_hash' makes pointer from integer without a cast [-Wint-conversion] 258 | __builtin_choose_expr(__is_constexpr(__builtin_strlen(p)), \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 259 | __builtin_strlen(p), __fortify_strlen(p)) | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ | | | __kernel_size_t {aka long unsigned int} ././common/inc/nv-hash.h:41:51: note: in expansion of macro 'strlen' 41 | #define nv_string_hash(_str) full_name_hash(_str, strlen(_str)) | ^~~~~~ nvidia/nv-caps.c:42:32: note: in expansion of macro 'nv_string_hash' 42 | #define nv_cap_hash_key(path) (nv_string_hash(path) % NV_CAP_HASH_SIZE) | ^~~~~~~~~~~~~~ nvidia/nv-caps.c:310:24: note: in expansion of macro 'nv_cap_hash_key' 310 | unsigned int key = nv_cap_hash_key(path); | ^~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/dcache.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:8, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/huge_mm.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:1133: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stringhash.h:66:61: note: expected 'const char *' but argument is of type '__kernel_size_t' {aka 'long unsigned int'} 66 | extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int); | ^~~~~~~~~~~~ In file included from nvidia/nv-caps.c:27: ././common/inc/nv-hash.h:41:30: error: too few arguments to function 'full_name_hash'; expected 3, have 2 41 | #define nv_string_hash(_str) full_name_hash(_str, strlen(_str)) | ^~~~~~~~~~~~~~ nvidia/nv-caps.c:42:32: note: in expansion of macro 'nv_string_hash' 42 | #define nv_cap_hash_key(path) (nv_string_hash(path) % NV_CAP_HASH_SIZE) | ^~~~~~~~~~~~~~ nvidia/nv-caps.c:310:24: note: in expansion of macro 'nv_cap_hash_key' 310 | unsigned int key = nv_cap_hash_key(path); | ^~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stringhash.h:66:28: note: declared here 66 | extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int); | ^~~~~~~~~~~~~~ nvidia/nv-caps.c: In function '_nv_cap_table_init': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fortify-string.h:259:38: error: passing argument 2 of 'full_name_hash' makes pointer from integer without a cast [-Wint-conversion] 258 | __builtin_choose_expr(__is_constexpr(__builtin_strlen(p)), \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 259 | __builtin_strlen(p), __fortify_strlen(p)) | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ | | | __kernel_size_t {aka long unsigned int} ././common/inc/nv-hash.h:41:51: note: in expansion of macro 'strlen' 41 | #define nv_string_hash(_str) full_name_hash(_str, strlen(_str)) | ^~~~~~ nvidia/nv-caps.c:42:32: note: in expansion of macro 'nv_string_hash' 42 | #define nv_cap_hash_key(path) (nv_string_hash(path) % NV_CAP_HASH_SIZE) | ^~~~~~~~~~~~~~ nvidia/nv-caps.c:334:15: note: in expansion of macro 'nv_cap_hash_key' 334 | key = nv_cap_hash_key(table[i].name); | ^~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stringhash.h:66:61: note: expected 'const char *' but argument is of type '__kernel_size_t' {aka 'long unsigned int'} 66 | extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int); | ^~~~~~~~~~~~ ././common/inc/nv-hash.h:41:30: error: too few arguments to function 'full_name_hash'; expected 3, have 2 41 | #define nv_string_hash(_str) full_name_hash(_str, strlen(_str)) | ^~~~~~~~~~~~~~ nvidia/nv-caps.c:42:32: note: in expansion of macro 'nv_string_hash' 42 | #define nv_cap_hash_key(path) (nv_string_hash(path) % NV_CAP_HASH_SIZE) | ^~~~~~~~~~~~~~ nvidia/nv-caps.c:334:15: note: in expansion of macro 'nv_cap_hash_key' 334 | key = nv_cap_hash_key(table[i].name); | ^~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stringhash.h:66:28: note: declared here 66 | extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int); | ^~~~~~~~~~~~~~ nvidia/nv-caps.c: In function 'nv_cap_procfs_open': ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-caps.c:410:5: note: in expansion of macro 'NV_KMALLOC' 410 | NV_KMALLOC(private, sizeof(nv_cap_file_private_t)); | ^~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ nvidia/nv-caps.c: In function 'nv_cap_alloc': In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-caps.c:614:5: note: in expansion of macro 'NV_KMALLOC' 614 | NV_KMALLOC(cap, sizeof(nv_cap_t)); | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-caps.c:621:5: note: in expansion of macro 'NV_KMALLOC' 621 | NV_KMALLOC(cap->path, len); | ^~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-caps.c:633:5: note: in expansion of macro 'NV_KMALLOC' 633 | NV_KMALLOC(cap->name, len); | ^~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia/nv-caps.c: In function 'nv_cap_create_file_entry': nvidia/nv-caps.c:688:35: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 688 | &g_nv_cap_procfs_fops, (void*)cap); | ^~~~~~~~~~~~~~~~~~~~~ | | | nv_proc_ops_t * {aka struct file_operations *} /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'nv_proc_ops_t *' {aka 'struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia/nv-caps.c: In function 'nv_cap_init': ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-caps.c:738:5: note: in expansion of macro 'NV_KMALLOC' 738 | NV_KMALLOC(name, (strlen(path) + strlen(dir)) + 1); | ^~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-caps.o] Error 1 ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ CC [M] nvidia-uvm/uvm_global.o In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_api.h:28, from nvidia-uvm/uvm_global.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-kthread-q.h:33, from nvidia-uvm/nv-kthread-q.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-kthread-q.h:33, from nvidia-uvm/nv-kthread-q-selftest.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from ././nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * ././common/inc/nv-mm.h: In function 'nv_page_fault_va': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia/linux_nvswitch.c: At top level: nvidia/linux_nvswitch.c:52:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration] 52 | const static struct | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ nvidia/linux_nvswitch.c:1705:1: warning: no previous prototype for 'nvswitch_init' [-Wmissing-prototypes] 1705 | nvswitch_init | ^~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia/linux_nvswitch.c:1790:1: warning: no previous prototype for 'nvswitch_exit' [-Wmissing-prototypes] 1790 | nvswitch_exit | ^~~~~~~~~~~~~ nvidia/linux_nvswitch.c: In function 'nvswitch_os_get_platform_time': nvidia/linux_nvswitch.c:1827:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 1827 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia/linux_nvswitch.c: In function 'nvswitch_os_get_platform_time_epoch': nvidia/linux_nvswitch.c:1849:25: error: passing argument 1 of 'ktime_get_real_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 1849 | ktime_get_real_ts64(&ts); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:44:52: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 44 | extern void ktime_get_real_ts64(struct timespec64 *tv); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/nv-kthread-q.c: In function 'thread_create_on_node': nvidia-uvm/nv-kthread-q.c:179:5: warning: 'static' is not at beginning of declaration [-Wold-style-declaration] 179 | const static unsigned attempts = 3; | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/nv-kthread-q.o] Error 1 CC [M] nvidia-uvm/uvm_gpu.o ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/linux_nvswitch.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia-uvm/uvm_gpu_isr.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from ././nvidia-uvm/uvm_linux.h:37, from ././common/inc/nv_uvm_interface.h:37, from nvidia-uvm/uvm_gpu.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-procfs.h:26, from nvidia/nvlink_linux.c:31: nvidia/nvlink_linux.c: In function 'nvlink_permissions_init': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nvlink_linux.c:115:26: note: in expansion of macro 'NV_CREATE_PROC_FILE' 115 | nvlink_permissions = NV_CREATE_PROC_FILE("permissions", | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19, from ././common/inc/nv-linux.h:220: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia/nvlink_linux.c: At top level: nvidia/nvlink_linux.c:313:12: warning: no previous prototype for 'nvlink_core_init' [-Wmissing-prototypes] 313 | int __init nvlink_core_init(void) | ^~~~~~~~~~~~~~~~ nvidia/nvlink_linux.c:389:6: warning: no previous prototype for 'nvlink_core_exit' [-Wmissing-prototypes] 389 | void nvlink_core_exit(void) | ^~~~~~~~~~~~~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/nv-kthread-q-selftest.c:39: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/umh.h:4, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kmod.h:9, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:17, from nvidia-uvm/nv-kthread-q-selftest.c:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-kthread-q.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from nvidia-uvm/nv-kthread-q-selftest.c:31: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from ././common/inc/nv-kthread-q.h:27: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_api.h:28, from nvidia-uvm/uvm_gpu_isr.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stat.h:19, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:13: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nvlink_linux.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma CC [M] nvidia-uvm/uvm_procfs.o ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-procfs.h:26, from nvidia/procfs_nvswitch.c:25: nvidia/procfs_nvswitch.c: In function 'nvswitch_procfs_device_add': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/procfs_nvswitch.c:135:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 135 | entry = NV_CREATE_PROC_FILE("information", device_dir, device_info, | ^~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19, from ././common/inc/nv-linux.h:220: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ nvidia/procfs_nvswitch.c: In function 'nvswitch_procfs_init': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/procfs_nvswitch.c:174:28: note: in expansion of macro 'NV_CREATE_PROC_FILE' 174 | nvswitch_permissions = NV_CREATE_PROC_FILE("permissions", | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_extern_decl.h:27, from nvidia-uvm/uvm_global.h:28, from nvidia-uvm/uvm_procfs.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/procfs_nvswitch.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/i2c_nvswitch.o] Error 1 CC [M] nvidia-uvm/uvm_va_space.o CC [M] nvidia-uvm/uvm_va_space_mm.o ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_va_space_mm.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_api.h:28, from nvidia-uvm/uvm_va_space.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': ././nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././nvidia-uvm/uvm_linux.h: At top level: ././nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ ././nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_vmalloc': In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_conf_computing.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ In file included from ././nvidia-uvm/uvm_pmm_gpu.h:55, from ././nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_sec2_test.c:25: ././nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': ././nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ats_sva.o] Error 1 CC [M] nvidia-uvm/uvm_gpu_semaphore.o ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_lock.h:28, from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_gpu_semaphore.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': cc1: some warnings being treated as errors ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_conf_computing.o] Error 1 ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir CC [M] nvidia-uvm/uvm_mem.o cc1: some warnings being treated as errors ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_sec2_test.o] Error 1 ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_maxwell_sec2.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma CC [M] nvidia-uvm/uvm_channel.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_processors.h:27, from nvidia-uvm/uvm_mem.h:28, from nvidia-uvm/uvm_mem.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ CC [M] nvidia-uvm/uvm_rm_mem.o nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_processors.h:27, from nvidia-uvm/uvm_rm_mem.h:28, from nvidia-uvm/uvm_rm_mem.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_lock.h:28, from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_channel.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_common.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ CC [M] nvidia-uvm/uvm_lock.o nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma cc1: some warnings being treated as errors In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_lock.h:28, from nvidia-uvm/uvm_lock.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_linux.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia-uvm/uvm_hal.o ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal.h:28, from nvidia-uvm/uvm_hal.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/nv-kthread-q-selftest.c: At top level: nvidia-uvm/nv-kthread-q-selftest.c:84:6: warning: no previous prototype for 'on_nvq_assert' [-Wmissing-prototypes] 84 | void on_nvq_assert(void) | ^~~~~~~~~~~~~ In file included from nvidia-uvm/uvm_api.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from ././nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/nv-kthread-q-selftest.o] Error 1 ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ CC [M] nvidia-uvm/uvm_range_tree.o ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_hopper_sec2.o] Error 1 CC [M] nvidia-uvm/uvm_rb_tree.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_range_tree.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_tools.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm.c: At top level: nvidia-uvm/uvm.c:401:14: error: initialization of 'vm_fault_t (*)(struct vm_fault *)' {aka 'unsigned int (*)(struct vm_fault *)'} from incompatible pointer type 'vm_fault_t (*)(struct vm_area_struct *, struct vm_fault *)' {aka 'int (*)(struct vm_area_struct *, struct vm_fault *)'} [-Wincompatible-pointer-types] 401 | .fault = uvm_vm_fault_sigbus_entry | ^~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm.c:401:14: note: (near initialization for 'uvm_vm_ops_disabled.fault') nvidia-uvm/uvm.c:377:19: note: 'uvm_vm_fault_sigbus_entry' declared here 377 | static vm_fault_t uvm_vm_fault_sigbus_entry(struct vm_area_struct *vma, struct vm_fault *vmf) | ^~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm.c:654:21: error: initialization of 'vm_fault_t (*)(struct vm_fault *)' {aka 'unsigned int (*)(struct vm_fault *)'} from incompatible pointer type 'vm_fault_t (*)(struct vm_area_struct *, struct vm_fault *)' {aka 'int (*)(struct vm_area_struct *, struct vm_fault *)'} [-Wincompatible-pointer-types] 654 | .fault = uvm_vm_fault_entry, | ^~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm.c:654:21: note: (near initialization for 'uvm_vm_ops_managed.fault') nvidia-uvm/uvm.c:626:19: note: 'uvm_vm_fault_entry' declared here 626 | static vm_fault_t uvm_vm_fault_entry(struct vm_area_struct *vma, struct vm_fault *vmf) | ^~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm.c:655:21: error: initialization of 'vm_fault_t (*)(struct vm_fault *)' {aka 'unsigned int (*)(struct vm_fault *)'} from incompatible pointer type 'vm_fault_t (*)(struct vm_area_struct *, struct vm_fault *)' {aka 'int (*)(struct vm_area_struct *, struct vm_fault *)'} [-Wincompatible-pointer-types] 655 | .page_mkwrite = uvm_vm_fault_entry, | ^~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm.c:655:21: note: (near initialization for 'uvm_vm_ops_managed.page_mkwrite') nvidia-uvm/uvm.c:626:19: note: 'uvm_vm_fault_entry' declared here 626 | static vm_fault_t uvm_vm_fault_entry(struct vm_area_struct *vma, struct vm_fault *vmf) | ^~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm.c:750:21: error: initialization of 'vm_fault_t (*)(struct vm_fault *)' {aka 'unsigned int (*)(struct vm_fault *)'} from incompatible pointer type 'vm_fault_t (*)(struct vm_area_struct *, struct vm_fault *)' {aka 'int (*)(struct vm_area_struct *, struct vm_fault *)'} [-Wincompatible-pointer-types] 750 | .fault = uvm_vm_fault_sigbus_entry, | ^~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm.c:750:21: note: (near initialization for 'uvm_vm_ops_semaphore_pool.fault') nvidia-uvm/uvm.c:377:19: note: 'uvm_vm_fault_sigbus_entry' declared here 377 | static vm_fault_t uvm_vm_fault_sigbus_entry(struct vm_area_struct *vma, struct vm_fault *vmf) | ^~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm.o] Error 1 CC [M] nvidia-uvm/uvm_range_allocator.o ././common/inc/nv-linux.h: In function 'nv_vmalloc': In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_range_tree.h:27, from nvidia-uvm/uvm_range_allocator.h:27, from nvidia-uvm/uvm_range_allocator.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_api.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-list-helpers.h:27, from nvidia-uvm/uvm_rb_tree.h:32, from nvidia-uvm/uvm_rb_tree.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-linux.h: In function 'nv_vmalloc': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_rb_tree.o] Error 1 ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ CC [M] nvidia-uvm/uvm_va_range.o nvidia-uvm/uvm_tools.c: At top level: nvidia-uvm/uvm_tools.c:2317:5: warning: no previous prototype for 'uvm_tools_init' [-Wmissing-prototypes] 2317 | int uvm_tools_init(dev_t uvm_base_dev) | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base nvidia-uvm/uvm_tools.c:2378:6: warning: no previous prototype for 'uvm_tools_exit' [-Wmissing-prototypes] 2378 | void uvm_tools_exit(void) | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_va_range.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_tools.o] Error 1 ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia-uvm/uvm_va_policy.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_va_policy.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ cc1: some warnings being treated as errors ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_global.o] Error 1 CC [M] nvidia-uvm/uvm_va_block.o ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_va_block.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from nvidia-uvm/uvm_api.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': ././nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././nvidia-uvm/uvm_linux.h: At top level: ././nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ ././nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_va_space.h:28, from nvidia-uvm/uvm_va_space_mm.c:26: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_api.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ In file included from nvidia-uvm/uvm_api.h:31, from nvidia-uvm/uvm_gpu.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ cc1: some warnings being treated as errors nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_va_space_mm.o] Error 1 nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia-uvm/uvm_range_group.o ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_procfs.o] Error 1 In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ CC [M] nvidia-uvm/uvm_gpu_replayable_faults.o nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_range_tree.h:27, from nvidia-uvm/uvm_range_group.h:28, from nvidia-uvm/uvm_range_group.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from ././nvidia-uvm/uvm_linux.h:37, from ././common/inc/nv_uvm_interface.h:37, from nvidia-uvm/uvm_gpu_replayable_faults.c:25: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ In file included from ././common/inc/nv-procfs.h:26, from nvidia-uvm/uvm_procfs.h:30, from nvidia-uvm/uvm_gpu.c:31: nvidia-uvm/uvm_gpu.c: In function 'init_parent_procfs_files': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia-uvm/uvm_gpu.c:756:43: note: in expansion of macro 'NV_CREATE_PROC_FILE' 756 | parent_gpu->procfs.fault_stats_file = NV_CREATE_PROC_FILE("fault_stats", | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19, from ././common/inc/nv-linux.h:220: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia-uvm/uvm_gpu.c:763:47: note: in expansion of macro 'NV_CREATE_PROC_FILE' 763 | parent_gpu->procfs.access_counters_file = NV_CREATE_PROC_FILE("access_counters", | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors nvidia-uvm/uvm_gpu.c: In function 'init_procfs_files': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia-uvm/uvm_gpu.c:834:29: note: in expansion of macro 'NV_CREATE_PROC_FILE' 834 | gpu->procfs.info_file = NV_CREATE_PROC_FILE("info", gpu->procfs.dir, gpu_info_entry, gpu); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_va_space.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_gpu_semaphore.c: At top level: nvidia-uvm/uvm_gpu_semaphore.c:510:6: warning: no previous prototype for 'tracking_semaphore_uses_mutex' [-Wmissing-prototypes] 510 | bool tracking_semaphore_uses_mutex(uvm_gpu_tracking_semaphore_t *tracking_semaphore) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CC [M] nvidia-uvm/uvm_gpu_non_replayable_faults.o cc1: some warnings being treated as errors nvidia-uvm/uvm_gpu.c: At top level: nvidia-uvm/uvm_gpu.c:1884:12: warning: no previous prototype for 'uvm_gpu_get_by_parent_and_swizz_id_locked' [-Wmissing-prototypes] 1884 | uvm_gpu_t *uvm_gpu_get_by_parent_and_swizz_id_locked(uvm_parent_gpu_t *parent_gpu, NvU32 swizz_id) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from ././nvidia-uvm/uvm_linux.h:37, from ././common/inc/nv_uvm_interface.h:37, from nvidia-uvm/uvm_gpu_non_replayable_faults.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_gpu_isr.o] Error 1 nvidia-uvm/uvm_gpu.c: In function 'init_procfs_peer_cap_files': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia-uvm/uvm_gpu.c:2228:46: note: in expansion of macro 'NV_CREATE_PROC_FILE' 2228 | peer_caps->procfs.peer_file[local_idx] = NV_CREATE_PROC_FILE(gpu_dir_name, | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ CC [M] nvidia-uvm/uvm_gpu_access_counters.o cc1: some warnings being treated as errors In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_rm_mem.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_gpu_semaphore.o] Error 1 CC [M] nvidia-uvm/uvm_perf_events.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from ././nvidia-uvm/uvm_linux.h:37, from ././common/inc/nv_uvm_interface.h:37, from nvidia-uvm/uvm_gpu_access_counters.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_test.h:27, from nvidia-uvm/uvm_perf_events.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_mem.h:30: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_rm_mem.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia-uvm/uvm_perf_module.o ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_perf_events.h:27, from nvidia-uvm/uvm_perf_module.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ cc1: some warnings being treated as errors nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_gpu.o] Error 1 In file included from ././common/inc/nv-procfs.h:26, from nvidia-uvm/uvm_procfs.h:30, from nvidia-uvm/uvm_channel.c:30: nvidia-uvm/uvm_channel.c: In function 'manager_create_procfs': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia-uvm/uvm_channel.c:3575:38: note: in expansion of macro 'NV_CREATE_PROC_FILE' 3575 | manager->procfs.pending_pushes = NV_CREATE_PROC_FILE("pending_pushes", | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19, from ././common/inc/nv-linux.h:220: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_channel.c: In function 'channel_create_procfs': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia-uvm/uvm_channel.c:3648:28: note: in expansion of macro 'NV_CREATE_PROC_FILE' 3648 | channel->procfs.info = NV_CREATE_PROC_FILE("info", channel->procfs.dir, channel_info_entry, channel); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia-uvm/uvm_channel.c:3652:30: note: in expansion of macro 'NV_CREATE_PROC_FILE' 3652 | channel->procfs.pushes = NV_CREATE_PROC_FILE("pushes", channel->procfs.dir, channel_pushes_entry, channel); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ CC [M] nvidia-uvm/uvm_mmu.o In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_mmu.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_mem.o] Error 1 CC [M] nvidia-uvm/uvm_pte_batch.o cc1: some warnings being treated as errors cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_range_tree.o] Error 1 nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_channel.o] Error 1 CC [M] nvidia-uvm/uvm_tlb_batch.o CC [M] nvidia-uvm/uvm_push.o ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal_types.h:27, from nvidia-uvm/uvm_pte_batch.h:28, from nvidia-uvm/uvm_pte_batch.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal_types.h:27, from nvidia-uvm/uvm_tlb_batch.h:28, from nvidia-uvm/uvm_tlb_batch.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_extern_decl.h:27, from nvidia-uvm/uvm_push.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ cc1: some warnings being treated as errors ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_lock.o] Error 1 ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ CC [M] nvidia-uvm/uvm_pushbuffer.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_api.h:28, from nvidia-uvm/uvm_pushbuffer.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_hal.o] Error 1 ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ CC [M] nvidia-uvm/uvm_thread_context.o ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_lock.h:28, from nvidia-uvm/uvm_thread_context.h:28, from nvidia-uvm/uvm_thread_context.c:25: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from nvidia-uvm/uvm_range_allocator.h:28: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ In file included from nvidia-uvm/uvm_api.h:31, from nvidia-uvm/uvm_va_range.c:27: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ cc1: some warnings being treated as errors In file included from ././common/inc/nv-linux.h:34, from ././nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_range_allocator.o] Error 1 ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ CC [M] nvidia-uvm/uvm_tracker.o ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_tracker.h:29, from nvidia-uvm/uvm_tracker.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from ././nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sort.h:5, from nvidia-uvm/uvm_gpu_replayable_faults.c:24: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/nv-linux.h:34, from ././nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sort.h:5, from nvidia-uvm/uvm_gpu_access_counters.c:23: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_va_range.o] Error 1 CC [M] nvidia-uvm/uvm_maxwell.o ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal.h:28, from nvidia-uvm/uvm_maxwell.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from nvidia-uvm/uvm_api.h:31, from nvidia-uvm/uvm_va_block.c:26: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_pte_batch.h:29, from nvidia-uvm/uvm_va_block_types.h:28, from nvidia-uvm/uvm_va_policy.h:31, from nvidia-uvm/uvm_va_policy.c:27: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_va_policy.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ CC [M] nvidia-uvm/uvm_maxwell_host.o In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_maxwell_host.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././nvidia-uvm/uvm_linux.h: At top level: ././nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ ././nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-linux.h: In function 'nv_vmalloc': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from nvidia-uvm/uvm_api.h:31, from nvidia-uvm/uvm_gpu_non_replayable_faults.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_range_group.h:30: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': ././nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././nvidia-uvm/uvm_linux.h: At top level: ././nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ ././nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma cc1: some warnings being treated as errors ././nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': ././nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././nvidia-uvm/uvm_linux.h: At top level: ././nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ ././nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_gpu_non_replayable_faults.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma cc1: some warnings being treated as errors In file included from nvidia-uvm/uvm_perf_events.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': CC [M] nvidia-uvm/uvm_maxwell_ce.o nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_va_block.o] Error 1 CC [M] nvidia-uvm/uvm_maxwell_mmu.o ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from nvidia-uvm/uvm_perf_events.h:31, from nvidia-uvm/uvm_perf_events.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_gpu_replayable_faults.c:28: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal.h:28, from nvidia-uvm/uvm_maxwell_ce.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_gpu.h:31, from nvidia-uvm/uvm_maxwell_mmu.c:39: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_gpu_access_counters.c:26: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_range_group.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia-uvm/uvm_maxwell_fault_buffer.o cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_module.o] Error 1 In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_mmu.c:27: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_push.c:26: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ CC [M] nvidia-uvm/uvm_maxwell_access_counter_buffer.o In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31, from nvidia-uvm/uvm_tlb_batch.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_gpu.h:31, from nvidia-uvm/uvm_maxwell_fault_buffer.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_events.o] Error 1 CC [M] nvidia-uvm/uvm_pascal.o ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_gpu.h:31, from nvidia-uvm/uvm_maxwell_access_counter_buffer.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal.h:28, from nvidia-uvm/uvm_pascal.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from nvidia-uvm/uvm_api.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_push.o] Error 1 cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_tlb_batch.o] Error 1 CC [M] nvidia-uvm/uvm_pascal_ce.o ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir CC [M] nvidia-uvm/uvm_pascal_host.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_gpu_replayable_faults.o] Error 1 CC [M] nvidia-uvm/uvm_pascal_mmu.o nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal.h:28, from nvidia-uvm/uvm_pascal_ce.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ cc1: some warnings being treated as errors /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_pascal_host.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_mmu.c: At top level: nvidia-uvm/uvm_mmu.c:2290:11: warning: no previous prototype for 'create_static_vidmem_mapping' [-Wmissing-prototypes] 2290 | NV_STATUS create_static_vidmem_mapping(uvm_gpu_t *gpu) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_gpu_access_counters.o] Error 1 In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_extern_decl.h:27, from nvidia-uvm/uvm_global.h:28, from nvidia-uvm/uvm_pascal_mmu.c:36: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ CC [M] nvidia-uvm/uvm_pascal_fault_buffer.o ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_pascal_fault_buffer.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_pte_batch.h:29: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-procfs.h:26, from nvidia-uvm/uvm_procfs.h:30, from nvidia-uvm/uvm_pushbuffer.c:29: nvidia-uvm/uvm_pushbuffer.c: In function 'create_procfs': ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia-uvm/uvm_pushbuffer.c:69:36: note: in expansion of macro 'NV_CREATE_PROC_FILE' 69 | pushbuffer->procfs.info_file = NV_CREATE_PROC_FILE("pushbuffer", | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19, from ././common/inc/nv-linux.h:220: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': cc1: some warnings being treated as errors ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_mmu.o] Error 1 CC [M] nvidia-uvm/uvm_volta_ce.o ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir cc1: some warnings being treated as errors In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal.h:28, from nvidia-uvm/uvm_volta_ce.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ cc1: some warnings being treated as errors ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_thread_context.o] Error 1 CC [M] nvidia-uvm/uvm_volta_host.o nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pushbuffer.o] Error 1 nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ CC [M] nvidia-uvm/uvm_volta_mmu.o ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_volta_host.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * cc1: some warnings being treated as errors /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pte_batch.o] Error 1 In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_extern_decl.h:27, from nvidia-uvm/uvm_global.h:28, from nvidia-uvm/uvm_volta_mmu.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia-uvm/uvm_volta.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal.h:28, from nvidia-uvm/uvm_volta.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_tracker.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir cc1: some warnings being treated as errors nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_tracker.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_vmalloc': CC [M] nvidia-uvm/uvm_volta_fault_buffer.o ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_volta_fault_buffer.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ cc1: some warnings being treated as errors In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_maxwell.o] Error 1 CC [M] nvidia-uvm/uvm_volta_access_counter_buffer.o In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_volta_access_counter_buffer.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_maxwell_host.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_maxwell_host.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ CC [M] nvidia-uvm/uvm_turing.o ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal.h:28, from nvidia-uvm/uvm_turing.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31, from nvidia-uvm/uvm_pascal_host.c:26: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ cc1: some warnings being treated as errors nvidia-uvm/uvm_maxwell_mmu.c: At top level: nvidia-uvm/uvm_maxwell_mmu.c:359:21: warning: no previous prototype for 'uvm_hal_mmu_mode_maxwell' [-Wmissing-prototypes] 359 | uvm_mmu_mode_hal_t *uvm_hal_mmu_mode_maxwell(NvU32 big_page_size) | ^~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_maxwell_mmu.c:368:6: warning: no previous prototype for 'uvm_hal_maxwell_mmu_enable_prefetch_faults_unsupported' [-Wmissing-prototypes] 368 | void uvm_hal_maxwell_mmu_enable_prefetch_faults_unsupported(uvm_parent_gpu_t *parent_gpu) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pascal.o] Error 1 nvidia-uvm/uvm_maxwell_mmu.c:373:6: warning: no previous prototype for 'uvm_hal_maxwell_mmu_disable_prefetch_faults_unsupported' [-Wmissing-prototypes] 373 | void uvm_hal_maxwell_mmu_disable_prefetch_faults_unsupported(uvm_parent_gpu_t *parent_gpu) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia-uvm/uvm_maxwell_mmu.c:378:23: warning: no previous prototype for 'uvm_hal_maxwell_mmu_engine_id_to_type_unsupported' [-Wmissing-prototypes] 378 | uvm_mmu_engine_type_t uvm_hal_maxwell_mmu_engine_id_to_type_unsupported(NvU16 mmu_engine_id) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_maxwell_mmu.c:384:7: warning: no previous prototype for 'uvm_hal_maxwell_mmu_client_id_to_utlb_id_unsupported' [-Wmissing-prototypes] 384 | NvU16 uvm_hal_maxwell_mmu_client_id_to_utlb_id_unsupported(NvU16 client_id) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma CC [M] nvidia-uvm/uvm_turing_access_counter_buffer.o In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ cc1: some warnings being treated as errors nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_turing_access_counter_buffer.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_maxwell_mmu.o] Error 1 In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_pascal_fault_buffer.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ CC [M] nvidia-uvm/uvm_turing_fault_buffer.o cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_maxwell_access_counter_buffer.o] Error 1 CC [M] nvidia-uvm/uvm_turing_mmu.o ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_turing_fault_buffer.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': cc1: some warnings being treated as errors /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_maxwell_ce.o] Error 1 CC [M] nvidia-uvm/uvm_turing_host.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_extern_decl.h:27, from nvidia-uvm/uvm_global.h:28, from nvidia-uvm/uvm_turing_mmu.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal.h:28, from nvidia-uvm/uvm_turing_host.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ cc1: some warnings being treated as errors nvidia-uvm/uvm_pascal_fault_buffer.c: At top level: nvidia-uvm/uvm_pascal_fault_buffer.c:329:6: warning: no previous prototype for 'uvm_hal_pascal_fault_buffer_parse_non_replayable_entry_unsupported' [-Wmissing-prototypes] 329 | void uvm_hal_pascal_fault_buffer_parse_non_replayable_entry_unsupported(uvm_parent_gpu_t *parent_gpu, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_maxwell_fault_buffer.o] Error 1 nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ cc1: some warnings being treated as errors CC [M] nvidia-uvm/uvm_ampere.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pascal_host.o] Error 1 cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pascal_ce.o] Error 1 CC [M] nvidia-uvm/uvm_ampere_ce.o CC [M] nvidia-uvm/uvm_ampere_host.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pascal_fault_buffer.o] Error 1 CC [M] nvidia-uvm/uvm_ampere_mmu.o ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_extern_decl.h:27, from nvidia-uvm/uvm_global.h:28, from nvidia-uvm/uvm_ampere.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal.h:28, from nvidia-uvm/uvm_ampere_ce.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal.h:28, from nvidia-uvm/uvm_ampere_host.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_extern_decl.h:27, from nvidia-uvm/uvm_global.h:28, from nvidia-uvm/uvm_ampere_mmu.c:34: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_volta_mmu.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ CC [M] nvidia-uvm/uvm_hopper.o ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_volta_host.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_extern_decl.h:27, from nvidia-uvm/uvm_global.h:28, from nvidia-uvm/uvm_hopper.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ nvidia-uvm/uvm_pascal_mmu.c: At top level: nvidia-uvm/uvm_pascal_mmu.c:364:21: warning: no previous prototype for 'uvm_hal_mmu_mode_pascal' [-Wmissing-prototypes] 364 | uvm_mmu_mode_hal_t *uvm_hal_mmu_mode_pascal(NvU32 big_page_size) | ^~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_pascal_mmu.c:376:6: warning: no previous prototype for 'uvm_hal_pascal_mmu_enable_prefetch_faults' [-Wmissing-prototypes] 376 | void uvm_hal_pascal_mmu_enable_prefetch_faults(uvm_parent_gpu_t *parent_gpu) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_pascal_mmu.c:388:6: warning: no previous prototype for 'uvm_hal_pascal_mmu_disable_prefetch_faults' [-Wmissing-prototypes] 388 | void uvm_hal_pascal_mmu_disable_prefetch_faults(uvm_parent_gpu_t *parent_gpu) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_pascal_mmu.c:400:7: warning: no previous prototype for 'uvm_hal_pascal_mmu_client_id_to_utlb_id' [-Wmissing-prototypes] 400 | NvU16 uvm_hal_pascal_mmu_client_id_to_utlb_id(NvU16 client_id) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pascal_mmu.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia-uvm/uvm_hopper_fault_buffer.o ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal_types.h:27, from nvidia-uvm/uvm_hopper_fault_buffer.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ cc1: some warnings being treated as errors cc1: some warnings being treated as errors ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_volta_ce.o] Error 1 ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_volta_host.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir CC [M] nvidia-uvm/uvm_hopper_ce.o CC [M] nvidia-uvm/uvm_hopper_host.o ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal.h:28, from nvidia-uvm/uvm_hopper_host.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal.h:28, from nvidia-uvm/uvm_hopper_ce.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_volta_fault_buffer.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': cc1: some warnings being treated as errors ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_volta.o] Error 1 CC [M] nvidia-uvm/uvm_hopper_mmu.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_extern_decl.h:27, from nvidia-uvm/uvm_global.h:28, from nvidia-uvm/uvm_hopper_mmu.c:35: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_volta_fault_buffer.o] Error 1 CC [M] nvidia-uvm/uvm_ada.o In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_extern_decl.h:27, from nvidia-uvm/uvm_global.h:28, from nvidia-uvm/uvm_ada.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_volta_access_counter_buffer.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_volta_access_counter_buffer.o] Error 1 CC [M] nvidia-uvm/uvm_policy.o ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_processors.h:27, from nvidia-uvm/uvm_va_space.h:27, from nvidia-uvm/uvm_policy.c:25: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_turing.o] Error 1 CC [M] nvidia-uvm/uvm_perf_utils.o ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_perf_utils.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ampere.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma CC [M] nvidia-uvm/uvm_kvmalloc.o In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_turing_fault_buffer.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ampere_mmu.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia-uvm/uvm_pmm_sysmem.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_kvmalloc.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_gpu.h:31, from nvidia-uvm/uvm_pmm_sysmem.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_turing_mmu.o] Error 1 nvidia-uvm/uvm_hopper_fault_buffer.c:30:6: warning: no previous prototype for 'uvm_hal_hopper_fault_buffer_get_ve_id' [-Wmissing-prototypes] 30 | NvU8 uvm_hal_hopper_fault_buffer_get_ve_id(NvU16 mmu_engine_id, uvm_mmu_engine_type_t mmu_engine_type) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors CC [M] nvidia-uvm/uvm_pmm_gpu.o ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_hopper.o] Error 1 cc1: some warnings being treated as errors cc1: some warnings being treated as errors CC [M] nvidia-uvm/uvm_migrate.o In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_turing_access_counter_buffer.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_turing_fault_buffer.o] Error 1 make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_hopper_fault_buffer.o] Error 1 CC [M] nvidia-uvm/uvm_populate_pageable.o cc1: some warnings being treated as errors CC [M] nvidia-uvm/uvm_migrate_pageable.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_pmm_gpu.c:162: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_turing_host.o] Error 1 cc1: some warnings being treated as errors In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_migrate.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ CC [M] nvidia-uvm/uvm_map_external.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ampere_ce.o] Error 1 CC [M] nvidia-uvm/uvm_user_channel.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_populate_pageable.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_map_external.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_user_channel.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_migrate_pageable.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ampere_host.o] Error 1 CC [M] nvidia-uvm/uvm_hmm.o ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_turing_access_counter_buffer.o] Error 1 In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_va_block_types.h:27, from nvidia-uvm/uvm_hmm.h:29, from nvidia-uvm/uvm_hmm.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ CC [M] nvidia-uvm/uvm_perf_heuristics.o nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_perf_heuristics.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_hopper_mmu.o] Error 1 cc1: some warnings being treated as errors CC [M] nvidia-uvm/uvm_perf_thrashing.o ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_hopper_ce.o] Error 1 CC [M] nvidia-uvm/uvm_perf_prefetch.o ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_api.h:28, from nvidia-uvm/uvm_perf_thrashing.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_perf_prefetch.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_hopper_host.o] Error 1 CC [M] nvidia-uvm/uvm_ats.o ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_processors.h:27, from nvidia-uvm/uvm_va_space.h:27, from nvidia-uvm/uvm_ats.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ada.o] Error 1 ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ CC [M] nvidia-uvm/uvm_ats_ibm.o ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_api.h:28, from nvidia-uvm/uvm_ats_ibm.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_va_space.h:28: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_policy.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': CC [M] nvidia-uvm/uvm_ats_faults.o /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_api.h:28, from nvidia-uvm/uvm_ats_faults.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_kvmalloc.c:26: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmap': nvidia-uvm/uvm_linux.h: At top level: ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ cc1: some warnings being treated as errors nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_utils.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma CC [M] nvidia-uvm/uvm_test.o ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_api.h:28, from nvidia-uvm/uvm_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_kvmalloc.o] Error 1 CC [M] nvidia-uvm/uvm_test_rng.o nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from nvidia-uvm/uvm_map_external.c:27: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_test_rng.h:28, from nvidia-uvm/uvm_test_rng.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_migrate.c:27: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_populate_pageable.c:27: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_api.h:31, from nvidia-uvm/uvm_pmm_gpu.c:164: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_migrate_pageable.c:26: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_map_external.c: In function 'uvm_pte_buffer_init': nvidia-uvm/uvm_map_external.c:104:42: warning: implicit conversion from 'UvmGpuCachingType' to 'UvmRmGpuCachingType' [-Wenum-conversion] 104 | pte_buffer->mapping_info.cachingType = map_rm_params->caching_type; | ^ nvidia-uvm/uvm_map_external.c:105:42: warning: implicit conversion from 'UvmGpuMappingType' to 'UvmRmGpuMappingType' [-Wenum-conversion] 105 | pte_buffer->mapping_info.mappingType = map_rm_params->mapping_type; | ^ nvidia-uvm/uvm_map_external.c:106:41: warning: implicit conversion from 'UvmGpuFormatType' to 'UvmRmGpuFormatType' [-Wenum-conversion] 106 | pte_buffer->mapping_info.formatType = map_rm_params->format_type; | ^ nvidia-uvm/uvm_map_external.c:107:42: warning: implicit conversion from 'UvmGpuFormatElementBits' to 'UvmRmGpuFormatElementBits' [-Wenum-conversion] 107 | pte_buffer->mapping_info.elementBits = map_rm_params->element_bits; | ^ nvidia-uvm/uvm_map_external.c:108:46: warning: implicit conversion from 'UvmGpuCompressionType' to 'UvmRmGpuCompressionType' [-Wenum-conversion] 108 | pte_buffer->mapping_info.compressionType = map_rm_params->compression_type; | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_pte_batch.h:29, from nvidia-uvm/uvm_va_block_types.h:28: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ nvidia-uvm/uvm_pmm_sysmem.c: In function 'uvm_pmm_sysmem_mappings_split_gpu_mappings': nvidia-uvm/uvm_pmm_sysmem.c:294:13: error: implicit declaration of function 'NV_RADIX_TREE_REPLACE_SLOT'; did you mean 'NV_RADIX_TREE_REPLACE_SLOT_PRESENT'? [-Wimplicit-function-declaration] 294 | NV_RADIX_TREE_REPLACE_SLOT(&sysmem_mappings->reverse_map_tree, slot, new_reverse_maps[subregion - 1]); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ | NV_RADIX_TREE_REPLACE_SLOT_PRESENT In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_va_space.h:28, from nvidia-uvm/uvm_user_channel.c:26: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_migrate.o] Error 1 CC [M] nvidia-uvm/uvm_range_tree_test.o cc1: some warnings being treated as errors nvidia-uvm/uvm_populate_pageable.c: At top level: nvidia-uvm/uvm_populate_pageable.c:56:11: warning: no previous prototype for 'uvm_handle_fault' [-Wmissing-prototypes] 56 | NV_STATUS uvm_handle_fault(struct vm_area_struct *vma, unsigned long start, unsigned long vma_num_pages, bool write) | ^~~~~~~~~~~~~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_range_tree_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_map_external.o] Error 1 CC [M] nvidia-uvm/uvm_range_allocator_test.o cc1: some warnings being treated as errors In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_pte_batch.h:29, from nvidia-uvm/uvm_va_block_types.h:28, from nvidia-uvm/uvm_perf_thrashing.h:31, from nvidia-uvm/uvm_perf_heuristics.c:26: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_hmm.o] Error 1 cc1: some warnings being treated as errors ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * CC [M] nvidia-uvm/uvm_gpu_semaphore_test.o In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_populate_pageable.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ CC [M] nvidia-uvm/uvm_mem_test.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_range_allocator_test.c:25: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ cc1: some warnings being treated as errors ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ nvidia-uvm/uvm_migrate_pageable.c: At top level: ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_migrate_pageable.c:510:6: warning: no previous prototype for 'migrate_vma_cleanup_pages' [-Wmissing-prototypes] 510 | void migrate_vma_cleanup_pages(unsigned long *dst, unsigned long npages) | ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_extern_decl.h:27, from nvidia-uvm/uvm_global.h:28, from nvidia-uvm/uvm_gpu_semaphore_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ nvidia-uvm/uvm_migrate_pageable.c:556:6: warning: no previous prototype for 'uvm_migrate_vma_alloc_and_copy_helper' [-Wmissing-prototypes] 556 | void uvm_migrate_vma_alloc_and_copy_helper(struct vm_area_struct *vma, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_migrate_pageable.c:645:6: warning: no previous prototype for 'uvm_migrate_vma_finalize_and_map_helper' [-Wmissing-prototypes] 645 | void uvm_migrate_vma_finalize_and_map_helper(struct vm_area_struct *vma, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pmm_sysmem.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia-uvm/uvm_rm_mem_test.o ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_hal.h:28, from nvidia-uvm/uvm_mem_test.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_processors.h:27, from nvidia-uvm/uvm_rm_mem.h:28, from nvidia-uvm/uvm_rm_mem_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ cc1: some warnings being treated as errors In file included from nvidia-uvm/uvm_perf_events.h:31, from nvidia-uvm/uvm_perf_prefetch.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_migrate_pageable.o] Error 1 nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ CC [M] nvidia-uvm/uvm_page_tree_test.o nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_heuristics.o] Error 1 CC [M] nvidia-uvm/uvm_tracker_test.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_test.h:27, from nvidia-uvm/uvm_page_tree_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_lock.h:28, from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_tracker_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_user_channel.o] Error 1 CC [M] nvidia-uvm/uvm_push_test.o In file included from nvidia-uvm/uvm_api.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ cc1: some warnings being treated as errors In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_va_space.h:28: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pmm_gpu.o] Error 1 In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_extern_decl.h:27, from nvidia-uvm/uvm_global.h:28, from nvidia-uvm/uvm_push_test.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ CC [M] nvidia-uvm/uvm_channel_test.o cc1: some warnings being treated as errors In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_extern_decl.h:27, from nvidia-uvm/uvm_global.h:28, from nvidia-uvm/uvm_channel_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_prefetch.o] Error 1 CC [M] nvidia-uvm/uvm_ce_test.o ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_lock.h:28, from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_ce_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-procfs.h:26, from nvidia-uvm/uvm_procfs.h:30, from nvidia-uvm/uvm_perf_thrashing.c:34: nvidia-uvm/uvm_perf_thrashing.c: In function 'cpu_thrashing_stats_init': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia-uvm/uvm_perf_thrashing.c:450:45: note: in expansion of macro 'NV_CREATE_PROC_FILE' 450 | g_cpu_thrashing_stats.procfs_file = NV_CREATE_PROC_FILE(THRASHING_STATS_FILE_NAME, | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19, from ././common/inc/nv-linux.h:220: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_perf_thrashing.c: In function 'gpu_thrashing_stats_create': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia-uvm/uvm_perf_thrashing.c:505:34: note: in expansion of macro 'NV_CREATE_PROC_FILE' 505 | gpu_thrashing->procfs_file = NV_CREATE_PROC_FILE(THRASHING_STATS_FILE_NAME, | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ cc1: some warnings being treated as errors ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ats.o] Error 1 CC [M] nvidia-uvm/uvm_host_test.o nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_extern_decl.h:27, from nvidia-uvm/uvm_global.h:28, from nvidia-uvm/uvm_host_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ cc1: some warnings being treated as errors In file included from nvidia-uvm/uvm_api.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_thrashing.o] Error 1 CC [M] nvidia-uvm/uvm_lock_test.o ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_test.h:27, from nvidia-uvm/uvm_lock_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ats_ibm.o] Error 1 CC [M] nvidia-uvm/uvm_perf_utils_test.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_perf_utils.h:27, from nvidia-uvm/uvm_perf_utils_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/atomic.h:5, from nvidia-uvm/uvm_push_test.c:24: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from nvidia-uvm/uvm_api.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from nvidia-uvm/uvm_api.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ cc1: some warnings being treated as errors nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ats_faults.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia-uvm/uvm_kvmalloc_test.o In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_test_rng.o] Error 1 CC [M] nvidia-uvm/uvm_pmm_test.o ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_kvmalloc_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_pmm_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_test.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia-uvm/uvm_pmm_sysmem_test.o ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_test.h:27, from nvidia-uvm/uvm_pmm_sysmem_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_va_space.h:28, from nvidia-uvm/uvm_rm_mem_test.c:27: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma cc1: some warnings being treated as errors nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_range_tree_test.o] Error 1 CC [M] nvidia-uvm/uvm_perf_events_test.o ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ In file included from nvidia-uvm/uvm_range_allocator.h:28, from nvidia-uvm/uvm_range_allocator_test.c:26: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_perf_events.h:27, from nvidia-uvm/uvm_perf_events_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from nvidia-uvm/uvm_gpu_semaphore.h:28, from nvidia-uvm/uvm_channel.h:29, from nvidia-uvm/uvm_push.h:29, from nvidia-uvm/uvm_hal.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ cc1: some warnings being treated as errors In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_range_allocator_test.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir CC [M] nvidia-uvm/uvm_perf_module_test.o ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ cc1: some warnings being treated as errors cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_gpu_semaphore_test.o] Error 1 CC [M] nvidia-uvm/uvm_get_rm_ptes_test.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_kvmalloc.h:27, from nvidia-uvm/uvm_perf_module_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_rm_mem_test.o] Error 1 CC [M] nvidia-uvm/uvm_fault_buffer_flush_test.o ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_page_tree_test.c:26: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_fault_buffer_flush_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_test.h:27, from nvidia-uvm/uvm_get_rm_ptes_test.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma nvidia-uvm/uvm_channel_test.c: At top level: nvidia-uvm/uvm_channel_test.c:687:11: warning: no previous prototype for 'test_conf_computing_channel_selection' [-Wmissing-prototypes] 687 | NV_STATUS test_conf_computing_channel_selection(uvm_va_space_t *va_space) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_channel_test.c:749:11: warning: no previous prototype for 'test_write_ctrl_gpfifo_noop' [-Wmissing-prototypes] 749 | NV_STATUS test_write_ctrl_gpfifo_noop(uvm_va_space_t *va_space) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_channel_test.c:788:11: warning: no previous prototype for 'test_write_ctrl_gpfifo_and_pushes' [-Wmissing-prototypes] 788 | NV_STATUS test_write_ctrl_gpfifo_and_pushes(uvm_va_space_t *va_space) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_channel_test.c:836:11: warning: no previous prototype for 'test_write_ctrl_gpfifo_tight' [-Wmissing-prototypes] 836 | NV_STATUS test_write_ctrl_gpfifo_tight(uvm_va_space_t *va_space) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_mem_test.o] Error 1 CC [M] nvidia-uvm/uvm_peer_identity_mappings_test.o nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ cc1: some warnings being treated as errors In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_test.h:27, from nvidia-uvm/uvm_peer_identity_mappings_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_channel_test.o] Error 1 CC [M] nvidia-uvm/uvm_va_block_test.o cc1: some warnings being treated as errors In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_va_block_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_push_test.o] Error 1 CC [M] nvidia-uvm/uvm_range_group_tree_test.o cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_tracker_test.o] Error 1 CC [M] nvidia-uvm/uvm_thread_context_test.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_test.h:27, from nvidia-uvm/uvm_range_group_tree_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from nvidia-uvm/uvm_lock_test.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_page_tree_test.c: At top level: nvidia-uvm/uvm_page_tree_test.c:1514:8: warning: no previous prototype for 'get_page_sizes' [-Wmissing-prototypes] 1514 | size_t get_page_sizes(uvm_gpu_t *gpu, NvU32 *page_sizes) | ^~~~~~~~~~~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_api.h:28, from nvidia-uvm/uvm_thread_context_test.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ cc1: some warnings being treated as errors ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_ce_test.o] Error 1 CC [M] nvidia-uvm/uvm_rb_tree_test.o In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-time.h:27, from nvidia-uvm/uvm_linux.h:37, from nvidia-uvm/uvm_common.h:43, from nvidia-uvm/uvm_rb_tree_test.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ cc1: some warnings being treated as errors cc1: some warnings being treated as errors cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_lock_test.o] Error 1 make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_page_tree_test.o] Error 1 CC [M] nvidia-modeset/nvidia-modeset-linux.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_host_test.o] Error 1 CC [M] nvidia-modeset/nv-kthread-q.o CC [M] nvidia-drm/nvidia-drm.o ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from nvidia-drm/nvidia-drm-conftest.h:26, from nvidia-drm/nvidia-drm.h:26, from nvidia-drm/nvidia-drm.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm.o] Error 1 CC [M] nvidia-drm/nvidia-drm-drv.o ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/conftest.h:28, from nvidia-drm/nvidia-drm-conftest.h:26, from nvidia-drm/nvidia-drm-drv.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-drv.o] Error 1 CC [M] nvidia-drm/nvidia-drm-utils.o ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from nvidia-drm/nvidia-drm-conftest.h:26, from nvidia-drm/nvidia-drm-utils.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-utils.o] Error 1 CC [M] nvidia-drm/nvidia-drm-crtc.o ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from ././common/inc/conftest.h:28, from nvidia-drm/nvidia-drm-conftest.h:26, from nvidia-drm/nvidia-drm-crtc.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-crtc.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_vmalloc': CC [M] nvidia-drm/nvidia-drm-encoder.o ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from nvidia-drm/nvidia-drm-conftest.h:26, from nvidia-drm/nvidia-drm-encoder.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-encoder.o] Error 1 CC [M] nvidia-drm/nvidia-drm-connector.o ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from nvidia-drm/nvidia-drm-conftest.h:26, from nvidia-drm/nvidia-drm-connector.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-connector.o] Error 1 ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ CC [M] nvidia-drm/nvidia-drm-gem.o ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/delay.h:14, from ././common/inc/nv-time.h:29: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ In file included from nvidia-uvm/uvm_perf_events.h:31, from nvidia-uvm/uvm_perf_module.h:29, from nvidia-uvm/uvm_va_block.h:32, from nvidia-uvm/uvm_perf_utils_test.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/interrupt.h:13, from ././common/inc/nv-time.h:30: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-kthread-q.h:33, from nvidia-modeset/nv-kthread-q.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from nvidia-drm/nvidia-drm-conftest.h:26, from nvidia-drm/nvidia-drm-gem.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-gem.o] Error 1 CC [M] nvidia-drm/nvidia-drm-fb.o ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from nvidia-drm/nvidia-drm-conftest.h:26, from nvidia-drm/nvidia-drm-fb.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-fb.o] Error 1 CC [M] nvidia-drm/nvidia-drm-modeset.o ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/conftest.h:28, from nvidia-drm/nvidia-drm-conftest.h:26, from nvidia-drm/nvidia-drm-modeset.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-modeset.o] Error 1 CC [M] nvidia-drm/nvidia-drm-fence.o In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/conftest.h:28, from nvidia-drm/nvidia-drm-conftest.h:26, from nvidia-drm/nvidia-drm-fence.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-fence.o] Error 1 CC [M] nvidia-drm/nvidia-drm-linux.o ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_utils_test.o] Error 1 CC [M] nvidia-drm/nvidia-drm-helper.o In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from ././common/inc/conftest.h:28, from nvidia-drm/nvidia-drm-conftest.h:26, from nvidia-drm/nvidia-drm-helper.h:26, from nvidia-drm/nvidia-drm-helper.c:30: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-helper.o] Error 1 cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia-drm/nv-pci-table.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_kvmalloc_test.o] Error 1 CC [M] nvidia-drm/nvidia-drm-gem-nvkms-memory.o ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap': In file included from ././common/inc/nv-linux.h:34, from nvidia-uvm/uvm_linux.h:40: ././common/inc/nv-mm.h: At top level: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from ././common/inc/nv-time.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/sched.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from nvidia-drm/nvidia-drm-conftest.h:26, from nvidia-drm/nvidia-drm-gem-nvkms-memory.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-gem-nvkms-memory.o] Error 1 CC [M] nvidia-drm/nvidia-drm-gem-user-memory.o In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_pmm_test.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from nvidia-modeset/nvidia-modeset-os-interface.h:40, from nvidia-modeset/nvidia-modeset-linux.c:47: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] In file included from ././common/inc/conftest.h:28, from nvidia-drm/nvidia-drm-conftest.h:26, from nvidia-drm/nvidia-drm-gem-user-memory.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-gem-user-memory.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia-drm/nvidia-drm-gem-dma-buf.o In file included from nvidia-modeset/nvidia-modeset-linux.c:54: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stat.h:19, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:13, from nvidia-modeset/nvidia-modeset-linux.c:24: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/umh.h:4, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kmod.h:9, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:17: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from nvidia-drm/nvidia-drm-conftest.h:26, from nvidia-drm/nvidia-drm-gem-dma-buf.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-gem-dma-buf.o] Error 1 CC [M] nvidia-drm/nvidia-drm-format.o nvidia-modeset/nv-kthread-q.c: In function 'thread_create_on_node': nvidia-modeset/nv-kthread-q.c:179:5: warning: 'static' is not at beginning of declaration [-Wold-style-declaration] 179 | const static unsigned attempts = 3; | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from nvidia-drm/nvidia-drm-conftest.h:26, from nvidia-drm/nvidia-drm-format.c:23: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-modeset/nv-kthread-q.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-format.o] Error 1 In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_pmm_sysmem_test.c:27: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ CC [M] nvidia-peermem/nvidia-peermem.o ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_pmm_test.c: At top level: nvidia-uvm/uvm_pmm_test.c:909:11: warning: no previous prototype for '__test_pmm_async_alloc_type' [-Wmissing-prototypes] 909 | NV_STATUS __test_pmm_async_alloc_type(uvm_va_space_t *va_space, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pmm_test.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ nvidia-modeset/nvidia-modeset-linux.c: In function 'nvkms_get_usec': nvidia-modeset/nvidia-modeset-linux.c:360:25: error: passing argument 1 of 'ktime_get_real_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 360 | ktime_get_real_ts64(&ts); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:44:52: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 44 | extern void ktime_get_real_ts64(struct timespec64 *tv); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-modeset/nvidia-modeset-linux.c: At top level: nvidia-modeset/nvidia-modeset-linux.c:1080:24: warning: no previous prototype for 'nvkms_open_common' [-Wmissing-prototypes] 1080 | struct nvkms_per_open *nvkms_open_common(enum NvKmsClientType type, | ^~~~~~~~~~~~~~~~~ nvidia-modeset/nvidia-modeset-linux.c:1132:6: warning: no previous prototype for 'nvkms_close_pm_locked' [-Wmissing-prototypes] 1132 | void nvkms_close_pm_locked(struct nvkms_per_open *popen) | ^~~~~~~~~~~~~~~~~~~~~ nvidia-modeset/nvidia-modeset-linux.c:1195:5: warning: no previous prototype for 'nvkms_ioctl_common' [-Wmissing-prototypes] 1195 | int nvkms_ioctl_common | ^~~~~~~~~~~~~~~~~~ nvidia-modeset/nvidia-modeset-linux.c: In function 'nvkms_add_proc_file': nvidia-modeset/nvidia-modeset-linux.c:1359:37: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 1359 | &nv_procfs_nvkms_proc_fops, file->func); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} In file included from ././common/inc/nv-procfs-utils.h:29, from ././common/inc/nv-procfs.h:26, from nvidia-modeset/nvidia-modeset-linux.c:52: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ nvidia-modeset/nvidia-modeset-linux.c: In function 'nvkms_config_file_open': nvidia-modeset/nvidia-modeset-linux.c:1465:41: error: passing argument 2 of 'kernel_read' makes pointer from integer without a cast [-Wint-conversion] 1465 | ssize_t ret = kernel_read(file, read_size, | ^~~~~~~~~ | | | size_t {aka long unsigned int} nvidia-uvm/uvm_pmm_sysmem_test.c: At top level: nvidia-uvm/uvm_pmm_sysmem_test.c:1070:11: warning: no previous prototype for 'do_test_cpu_chunk_free' [-Wmissing-prototypes] 1070 | NV_STATUS do_test_cpu_chunk_free(uvm_cpu_chunk_t *chunk, uvm_va_space_t *va_space, uvm_processor_mask_t *test_gpus) | ^~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compat.h:17, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/ia32.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/elf.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/elf.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:19: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:3187:43: note: expected 'void *' but argument is of type 'size_t' {aka 'long unsigned int'} 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *); | ^~~~~~ nvidia-modeset/nvidia-modeset-linux.c:1466:41: error: passing argument 3 of 'kernel_read' makes integer from pointer without a cast [-Wint-conversion] 1466 | *buff + read_size, | ~~~~~~^~~~~~~~~~~ | | | char * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:3187:51: note: expected 'size_t' {aka 'long unsigned int'} but argument is of type 'char *' 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *); | ^~~~~~ nvidia-modeset/nvidia-modeset-linux.c:1467:45: error: passing argument 4 of 'kernel_read' makes pointer from integer without a cast [-Wint-conversion] 1467 | file_size - read_size); | ~~~~~~~~~~^~~~~~~~~~~ | | | size_t {aka long unsigned int} /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:3187:59: note: expected 'loff_t *' {aka 'long long int *'} but argument is of type 'size_t' {aka 'long unsigned int'} 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *); | ^~~~~~~~ nvidia-uvm/uvm_pmm_sysmem_test.c:1166:11: warning: no previous prototype for 'test_cpu_chunk_free' [-Wmissing-prototypes] 1166 | NV_STATUS test_cpu_chunk_free(uvm_va_space_t *va_space, uvm_processor_mask_t *test_gpus) | ^~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from nvidia-uvm/uvm_perf_events.h:31, from nvidia-uvm/uvm_perf_module.h:29, from nvidia-uvm/uvm_perf_module_test.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-modeset/nvidia-modeset-linux.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ cc1: some warnings being treated as errors ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_pmm_sysmem_test.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_fault_buffer_flush_test.c:26: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ In file included from nvidia-uvm/uvm_perf_events.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma cc1: some warnings being treated as errors nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_module_test.o] Error 1 In file included from nvidia-uvm/uvm_perf_events.h:31, from nvidia-uvm/uvm_perf_module.h:29, from nvidia-uvm/uvm_va_block.h:32, from nvidia-uvm/uvm_va_block_test.c:28: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ In file included from ././common/inc/conftest.h:28, from nvidia-drm/nvidia-drm-conftest.h:26, from nvidia-drm/nvidia-drm-os-interface.h:26, from nvidia-drm/nvidia-drm-linux.c:27: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-drm/nvidia-drm-linux.o] Error 1 nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_va_space.h:28, from nvidia-uvm/uvm_range_group_tree_test.c:26: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_get_rm_ptes_test.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_fault_buffer_flush_test.o] Error 1 cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_perf_events_test.o] Error 1 In file included from nvidia-uvm/uvm_pmm_gpu.h:55, from nvidia-uvm/uvm_gpu.h:37, from nvidia-uvm/uvm_global.h:32, from nvidia-uvm/uvm_va_space.h:28, from nvidia-uvm/uvm_peer_identity_mappings_test.c:25: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir cc1: some warnings being treated as errors In file included from nvidia-uvm/uvm_api.h:31: nvidia-uvm/uvm_lock.h: In function '__uvm_bit_lock': nvidia-uvm/uvm_lock.h:1208:11: error: implicit declaration of function 'UVM_WAIT_ON_BIT_LOCK' [-Wimplicit-function-declaration] 1208 | res = UVM_WAIT_ON_BIT_LOCK(bit_locks->bits, bit, TASK_UNINTERRUPTIBLE); | ^~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_va_block_test.o] Error 1 nvidia-uvm/uvm_linux.h: In function 'NV_GETTIME': nvidia-uvm/uvm_linux.h:287:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 287 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia-uvm/uvm_linux.h: At top level: nvidia-uvm/uvm_linux.h:435:6: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 435 | #if (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:438:8: error: 'NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 438 | #elif (NV_WAIT_ON_BIT_LOCK_ARGUMENT_COUNT == 4) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:449:2: error: #error "Unknown number of arguments" 449 | #error "Unknown number of arguments" | ^~~~~ nvidia-uvm/uvm_linux.h:478:6: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 478 | #if (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 2) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:481:9: error: 'NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT' is not defined, evaluates to '0' [-Werror=undef] 481 | #elif (NV_RADIX_TREE_REPLACE_SLOT_ARGUMENT_COUNT == 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia-uvm/uvm_linux.h:485:2: error: #error "Unknown number of arguments" 485 | #error "Unknown number of arguments" | ^~~~~ cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_rb_tree_test.o] Error 1 cc1: some warnings being treated as errors cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_range_group_tree_test.o] Error 1 make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_get_rm_ptes_test.o] Error 1 cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_peer_identity_mappings_test.o] Error 1 cc1: some warnings being treated as errors make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-uvm/uvm_thread_context_test.o] Error 1 In file included from ././common/inc/conftest.h:28, from nvidia-peermem/nvidia-peermem.c:39: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia-peermem/nvidia-peermem.o] Error 1 make[4]: Target './' not remade because of errors. make[3]: *** [/usr/lib/modules/6.14.6-arch1-1/build/Makefile:1997: .] Error 2 make[3]: Target 'modules' not remade because of errors. make[2]: *** [/usr/lib/modules/6.14.6-arch1-1/build/Makefile:251: __sub-make] Error 2 make[2]: Target 'modules' not remade because of errors. make[2]: Leaving directory '/tmp/selfgz13746/NVIDIA-Linux-x86_64-535.161.07-grid/kernel' make[1]: *** [Makefile:251: __sub-make] Error 2 make[1]: Target 'modules' not remade because of errors. make[1]: Leaving directory '/usr/lib/modules/6.14.6-arch1-1/build' make: *** [Makefile:82: modules] Error 2 -> Checking to see whether the nvidia kernel module was successfully built executing: 'cd ./kernel; /usr/bin/make -k -j16 NV_EXCLUDE_KERNEL_MODULES="" SYSSRC="/lib/modules/6.14.6-arch1-1/build" SYSOUT="/lib/modules/6.14.6-arch1-1/build" NV_KERNEL_MODULES="nvidia"'... make[1]: Entering directory '/usr/lib/modules/6.14.6-arch1-1/build' make[2]: Entering directory '/tmp/selfgz13746/NVIDIA-Linux-x86_64-535.161.07-grid/kernel' warning: the compiler differs from the one used to build the kernel The kernel was built by: gcc (GCC) 15.1.1 20250425 You are using: cc (GCC) 15.1.1 20250425 SYMLINK nvidia/nv-kernel.o CC [M] nvidia/nv.o CC [M] nvidia/nv-pci.o CC [M] nvidia/nv-dmabuf.o CC [M] nvidia/nv-nano-timer.o CC [M] nvidia/nv-acpi.o CC [M] nvidia/nv-cray.o CC [M] nvidia/nv-dma.o CC [M] nvidia/nv-i2c.o CC [M] nvidia/nv-mmap.o CC [M] nvidia/nv-p2p.o CC [M] nvidia/nv-pat.o CC [M] nvidia/nv-procfs.o CC [M] nvidia/nv-usermap.o CC [M] nvidia/nv-vm.o CC [M] nvidia/nv-vtophys.o CC [M] nvidia/os-interface.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-dma.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-cray.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-acpi.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-mmap.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-p2p.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-usermap.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-pat.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-vm.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/os-interface.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-vtophys.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-procfs.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-nano-timer.c:30: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv.c:33: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-nano-timer.c:31: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/nospec-branch.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/paravirt_types.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/ptrace.h:175, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/math_emu.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/processor.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/timex.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timex.h:67, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time32.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:60, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from nvidia/nv-nano-timer.c:27: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/array_size.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kernel.h:16, from nvidia/nv-nano-timer.c:26: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-usermap.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': In file included from ././common/inc/nv-linux.h:34, from nvidia/nv.c:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/umh.h:4, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kmod.h:9, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:17, from nvidia/nv.c:24: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/nospec-branch.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/paravirt_types.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/ptrace.h:175, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/math_emu.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/processor.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/timex.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timex.h:67, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time32.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:60, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stat.h:19, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:13: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/build_bug.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/container_of.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/list.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:12: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-pat.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-mmap.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-procfs.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-pci-types.h:28, from nvidia/nv-pci.c:25: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from ././common/inc/nv-dmabuf.h:27, from nvidia/nv-dmabuf.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from ././common/inc/nv-pci.h:28, from nvidia/nv-pci.c:26: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/xarray.h:16, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/radix-tree.h:21, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/idr.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kernfs.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sysfs.h:16, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kobject.h:20, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/pci.h:35, from nvidia/nv-pci-table.h:27, from nvidia/nv-pci.c:24: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mutex.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kernfs.h:11: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/scatterlist.h:8, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/dmapool.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/pci.h:1662: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/mei_uuid.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/mei.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mod_devicetable.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/pci.h:27: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/scatterlist.h:8, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/dma-buf.h:19, from nvidia/nv-dmabuf.c:23: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/nospec-branch.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/irqflags.h:9, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/irqflags.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/special_insns.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/io.h:45, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/io.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/iosys-map.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/dma-buf.h:16: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/io.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-vm.c:26: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from nvidia/nv-vm.c:25: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-p2p.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-cray.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/os-interface.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-dma.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-acpi.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-vtophys.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-i2c.c:28: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-i2c.c:29: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/slab.h:16, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/resource_ext.h:11, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/acpi.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/i2c.h:13, from nvidia/nv-i2c.c:26: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:8: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/memcontrol.h:21, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/swap.h:9, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/suspend.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/regulator/consumer.h:35, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/i2c.h:19: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/build_bug.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/bits.h:22, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ioport.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/acpi.h:12: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia/nv-nano-timer.c: In function 'nv_alloc_nano_timer': ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-nano-timer.c:86:5: note: in expansion of macro 'NV_KMALLOC' 86 | NV_KMALLOC(nv_nstimer, sizeof(nv_nano_timer_t)); | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/sound/hdaudio.h:18, from nvidia/nv.c:70: /usr/lib/modules/6.14.6-arch1-1/build/include/sound/pcm.h: In function 'snd_pcm_gettime': /usr/lib/modules/6.14.6-arch1-1/build/include/sound/pcm.h:1292:32: error: passing argument 1 of 'ktime_get_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 1292 | ktime_get_ts64(tv); | ^~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:43:47: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 43 | extern void ktime_get_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/sound/pcm.h:1295:36: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 1295 | ktime_get_raw_ts64(tv); | ^~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/sound/pcm.h:1298:37: error: passing argument 1 of 'ktime_get_real_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 1298 | ktime_get_real_ts64(tv); | ^~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:44:52: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 44 | extern void ktime_get_real_ts64(struct timespec64 *tv); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia/nv-pci.c: In function 'nv_pci_probe': ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 602 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-pci.c:396:5: note: in expansion of macro 'NV_KZALLOC' 396 | NV_KZALLOC(nvl, sizeof(nv_linux_state_t)); | ^~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ nvidia/nv.c: In function 'nvos_create_alloc': ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 602 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv.c:262:5: note: in expansion of macro 'NV_KZALLOC' 262 | NV_KZALLOC(at, sizeof(nv_alloc_t)); | ^~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-nano-timer.o] Error 1 nvidia/nv.c: At top level: nvidia/nv.c:735:12: warning: no previous prototype for 'nvidia_init_module' [-Wmissing-prototypes] 735 | int __init nvidia_init_module(void) | ^~~~~~~~~~~~~~~~~~ nvidia/nv.c:855:6: warning: no previous prototype for 'nvidia_exit_module' [-Wmissing-prototypes] 855 | void nvidia_exit_module(void) | ^~~~~~~~~~~~~~~~~~ nvidia/nv.c: In function 'nv_alloc_file_private': ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 602 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv.c:879:5: note: in expansion of macro 'NV_KZALLOC' 879 | NV_KZALLOC(nvlfp, sizeof(nv_linux_file_private_t)); | ^~~~~~~~~~ nvidia/nv.c: At top level: nvidia/nv.c:1124:23: warning: no previous prototype for 'nv_get_num_dpaux_instances' [-Wmissing-prototypes] 1124 | NV_STATUS NV_API_CALL nv_get_num_dpaux_instances(nv_state_t *nv, NvU32 *num_instances) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia/os-mlock.o ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': nvidia/nv.c: In function 'nvidia_ioctl': ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv.c:2104:5: note: in expansion of macro 'NV_KMALLOC' 2104 | NV_KMALLOC(arg_copy, arg_size); | ^~~~~~~~~~ ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv.c:2165:13: note: in expansion of macro 'NV_KMALLOC' 2165 | NV_KMALLOC(nvlfp->attached_gpus, arg_size); | ^~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-usermap.o] Error 1 nvidia/nv.c: In function 'nv_map_guest_pages': ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv.c:2805:5: note: in expansion of macro 'NV_KMALLOC' 2805 | NV_KMALLOC(pages, sizeof(struct page *) * page_count); | ^~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-dmabuf.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia/os-pci.o nvidia/nv.c: In function 'nv_alloc_kernel_mapping': ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv.c:3282:13: note: in expansion of macro 'NV_KMALLOC' 3282 | NV_KMALLOC(pages, sizeof(struct page *) * page_count); | ^~~~~~~~~~ nvidia/nv.c: In function 'nv_post_event': ././common/inc/nv-linux.h:609:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 609 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv.c:3554:9: note: in expansion of macro 'NV_KMALLOC_ATOMIC' 3554 | NV_KMALLOC_ATOMIC(nvet, sizeof(nvidia_event_t)); | ^~~~~~~~~~~~~~~~~ CC [M] nvidia/os-registry.o ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-pci.o] Error 1 In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/os-mlock.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ CC [M] nvidia/os-usermap.o ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/os-pci.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/os-registry.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/os-usermap.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-pat.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir CC [M] nvidia/nv-modeset-interface.o ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma nvidia/nv-mmap.c: At top level: nvidia/nv-mmap.c:299:15: error: initialization of 'vm_fault_t (*)(struct vm_fault *)' {aka 'unsigned int (*)(struct vm_fault *)'} from incompatible pointer type 'vm_fault_t (*)(struct vm_area_struct *, struct vm_fault *)' {aka 'int (*)(struct vm_area_struct *, struct vm_fault *)'} [-Wincompatible-pointer-types] 299 | .fault = nvidia_fault, | ^~~~~~~~~~~~ nvidia/nv-mmap.c:299:15: note: (near initialization for 'nv_vm_ops.fault') nvidia/nv-mmap.c:201:19: note: 'nvidia_fault' declared here 201 | static vm_fault_t nvidia_fault( | ^~~~~~~~~~~~ nvidia/nv-mmap.c:303:5: warning: conflicting types for 'nv_encode_caching' due to enum/integer mismatch; have 'int(pgprot_t *, NvU32, nv_memory_type_t)' {aka 'int(struct pgprot *, unsigned int, nv_memory_type_t)'} [-Wenum-int-mismatch] 303 | int nv_encode_caching( | ^~~~~~~~~~~~~~~~~ In file included from ././common/inc/nv-linux.h:1761: ././common/inc/nv-proto.h:46:13: note: previous declaration of 'nv_encode_caching' with type 'int(pgprot_t *, NvU32, NvU32)' {aka 'int(struct pgprot *, unsigned int, unsigned int)'} 46 | int nv_encode_caching (pgprot_t *, NvU32, NvU32); | ^~~~~~~~~~~~~~~~~ nvidia/nv-mmap.c:371:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration] 371 | int static nvidia_mmap_peer_io( | ^~~ nvidia/nv-mmap.c:392:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration] 392 | int static nvidia_mmap_sysmem( | ^~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv.o] Error 1 In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-modeset-interface.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ nvidia/nv-procfs.c: In function 'nv_procfs_open_file': ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 602 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-procfs.c:276:5: note: in expansion of macro 'NV_KZALLOC' 276 | NV_KZALLOC(nvpp, sizeof(nv_procfs_private_t)); | ^~~~~~~~~~ CC [M] nvidia/nv-kthread-q.o nvidia/nv-procfs.c: At top level: nvidia/nv-procfs.c:698:1: warning: no previous prototype for 'exercise_error_forwarding_va' [-Wmissing-prototypes] 698 | exercise_error_forwarding_va( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ././common/inc/nv-procfs.h:26, from nvidia/nv-procfs.c:31: nvidia/nv-procfs.c: In function 'nv_procfs_add_text_file': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1312:5: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1312 | NV_CREATE_PROC_FILE(filename, parent, text_file, (void *)text); | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19, from ././common/inc/nv-linux.h:220: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ nvidia/nv-procfs.c: In function 'nv_procfs_init': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1342:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1342 | entry = NV_CREATE_PROC_FILE("params", proc_nvidia, params, NULL); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1346:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1346 | entry = NV_CREATE_PROC_FILE("registry", proc_nvidia, registry, NULL); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1351:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1351 | entry = NV_CREATE_PROC_FILE("suspend_depth", proc_nvidia, suspend_depth, NULL); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1355:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1355 | entry = NV_CREATE_PROC_FILE("suspend", proc_nvidia, suspend, NULL); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1377:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1377 | entry = NV_CREATE_PROC_FILE("version", proc_nvidia, version, NULL); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia/nv-procfs.c: In function 'nv_procfs_add_gpu': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1419:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1419 | entry = NV_CREATE_PROC_FILE("information", proc_nvidia_gpu, gpu_info, | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1424:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1424 | entry = NV_CREATE_PROC_FILE("registry", proc_nvidia_gpu, registry, nv); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1428:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1428 | entry = NV_CREATE_PROC_FILE("power", proc_nvidia_gpu, power, nv); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1434:17: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1434 | entry = NV_CREATE_PROC_FILE("exercise_error_forwarding", proc_nvidia_gpu, | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1442:17: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1442 | entry = NV_CREATE_PROC_FILE("unbindLock", proc_nvidia_gpu, unbind_lock, nv); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1449:17: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1449 | entry = NV_CREATE_PROC_FILE("numa_status", proc_nvidia_gpu, numa_status, | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1454:17: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1454 | entry = NV_CREATE_PROC_FILE("offline_pages", proc_nvidia_gpu, offline_pages, | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-mmap.o] Error 1 CC [M] nvidia/nv-memdbg.o ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-procfs.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from nvidia/nv-memdbg.c:25: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia/nv-ibmnpu.o ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-i2c.o] Error 1 CC [M] nvidia/nv-report-err.o ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from nvidia/nv-ibmnpu.c:27: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from nvidia/nv-report-err.c:25: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia/nv-dma.c: At top level: nvidia/nv-dma.c:293:6: warning: no previous prototype for 'nv_load_dma_map_scatterlist' [-Wmissing-prototypes] 293 | void nv_load_dma_map_scatterlist( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia/nv-dma.c:489:23: warning: no previous prototype for 'nv_dma_unmap_sgt' [-Wmissing-prototypes] 489 | NV_STATUS NV_API_CALL nv_dma_unmap_sgt( | ^~~~~~~~~~~~~~~~ nvidia/os-interface.c: At top level: nvidia/os-interface.c:370:7: warning: no previous prototype for 'os_mem_copy_custom' [-Wmissing-prototypes] 370 | void *os_mem_copy_custom( | ^~~~~~~~~~~~~~~~~~ nvidia/os-interface.c: In function 'os_alloc_mem': ././common/inc/nv-linux.h:609:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 609 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/os-interface.c:584:13: note: in expansion of macro 'NV_KMALLOC_ATOMIC' 584 | NV_KMALLOC_ATOMIC(*address, alloc_size); | ^~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:624:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 624 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/os-interface.c:590:13: note: in expansion of macro 'NV_KMALLOC_NO_OOM' 590 | NV_KMALLOC_NO_OOM(*address, alloc_size); | ^~~~~~~~~~~~~~~~~ nvidia/os-interface.c: In function 'os_get_current_time': nvidia/os-interface.c:633:25: error: passing argument 1 of 'ktime_get_real_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 633 | ktime_get_real_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:44:52: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 44 | extern void ktime_get_real_ts64(struct timespec64 *tv); | ~~~~~~~~~~~~~~~~~~~^~ nvidia/os-interface.c: In function 'os_get_current_tick_hr': nvidia/os-interface.c:647:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 647 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia/os-interface.c: In function 'os_get_current_tick': nvidia/os-interface.c:656:21: error: storage size of 'ts' isn't known 656 | struct timespec ts; | ^~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-dma.o] Error 1 CC [M] nvidia/nv-rsync.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-cray.o] Error 1 nvidia/os-interface.c:657:5: error: implicit declaration of function 'jiffies_to_timespec'; did you mean 'jiffies_to_timespec64'? [-Wimplicit-function-declaration] 657 | jiffies_to_timespec(jiffies, &ts); | ^~~~~~~~~~~~~~~~~~~ | jiffies_to_timespec64 CC [M] nvidia/nv-msi.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-vtophys.o] Error 1 CC [M] nvidia/nv-caps.o nvidia/os-interface.c:658:20: error: implicit declaration of function 'timespec_to_ns'; did you mean 'timespec64_to_ns'? [-Wimplicit-function-declaration] 658 | return (NvU64) timespec_to_ns(&ts); | ^~~~~~~~~~~~~~ | timespec64_to_ns nvidia/os-interface.c:656:21: warning: unused variable 'ts' [-Wunused-variable] 656 | struct timespec ts; | ^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-p2p.o] Error 1 In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from nvidia/nv-rsync.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ CC [M] nvidia/nv-frontend.o nvidia/os-interface.c: In function 'os_queue_work_item': ././common/inc/nv-linux.h:609:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 609 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/os-interface.c:1113:5: note: in expansion of macro 'NV_KMALLOC_ATOMIC' 1113 | NV_KMALLOC_ATOMIC(oqd, sizeof(os_queue_data_t)); | ^~~~~~~~~~~~~~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from ././common/inc/nv-msi.h:27, from nvidia/nv-msi.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ nvidia/nv-vm.c: In function 'nv_set_memory_array_type': nvidia/nv-vm.c:92:13: error: implicit declaration of function 'set_memory_array_uc'; did you mean 'set_pages_array_uc'? [-Wimplicit-function-declaration] 92 | set_memory_array_uc(pages, num_pages); | ^~~~~~~~~~~~~~~~~~~ | set_pages_array_uc nvidia/os-interface.c: In function 'os_write_file': nvidia/os-interface.c:1792:54: error: passing argument 4 of 'kernel_write' makes pointer from integer without a cast [-Wint-conversion] 1792 | num_written = kernel_write(pFile, pBuffer, size, f_pos); | ^~~~~ | | | loff_t {aka long long int} nvidia/os-interface.c:1792:54: note: possible fix: take the address with '&' 1792 | num_written = kernel_write(pFile, pBuffer, size, f_pos); | ^~~~~ | & In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/huge_mm.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:1133: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:3189:66: note: expected 'loff_t *' {aka 'long long int *'} but argument is of type 'loff_t' {aka 'long long int'} 3189 | extern ssize_t kernel_write(struct file *, const void *, size_t, loff_t *); | ^~~~~~~~ nvidia/os-interface.c: In function 'os_read_file': nvidia/os-interface.c:1832:35: error: passing argument 2 of 'kernel_read' makes pointer from integer without a cast [-Wint-conversion] 1832 | num_read = kernel_read(pFile, f_pos, pBuffer, size); | ^~~~~ | | | loff_t {aka long long int} /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:3187:43: note: expected 'void *' but argument is of type 'loff_t' {aka 'long long int'} 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *); | ^~~~~~ nvidia/os-interface.c:1832:42: error: passing argument 3 of 'kernel_read' makes integer from pointer without a cast [-Wint-conversion] 1832 | num_read = kernel_read(pFile, f_pos, pBuffer, size); | ^~~~~~~ | | | NvU8 * {aka unsigned char *} /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:3187:51: note: expected 'size_t' {aka 'long unsigned int'} but argument is of type 'NvU8 *' {aka 'unsigned char *'} 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *); | ^~~~~~ nvidia/os-interface.c:1832:51: error: passing argument 4 of 'kernel_read' makes pointer from integer without a cast [-Wint-conversion] 1832 | num_read = kernel_read(pFile, f_pos, pBuffer, size); | ^~~~ | | | NvU64 {aka long long unsigned int} /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:3187:59: note: expected 'loff_t *' {aka 'long long int *'} but argument is of type 'NvU64' {aka 'long long unsigned int'} 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *); | ^~~~~~~~ nvidia/os-interface.c: In function 'os_alloc_wait_queue': ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/os-interface.c:1945:5: note: in expansion of macro 'NV_KMALLOC' 1945 | NV_KMALLOC(*wq, sizeof(os_wait_queue)); | ^~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-acpi.o] Error 1 CC [M] nvidia/nv_uvm_interface.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from nvidia/nv-caps.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-frontend.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv_uvm_interface.c:32: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-kthread-q.h:33, from nvidia/nv-kthread-q.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-interface.o] Error 1 CC [M] nvidia/libspdm_aead.o nvidia/nv-vm.c:95:13: error: implicit declaration of function 'set_memory_array_wb'; did you mean 'set_pages_array_wb'? [-Wimplicit-function-declaration] 95 | set_memory_array_wb(pages, num_pages); | ^~~~~~~~~~~~~~~~~~~ | set_pages_array_wb In file included from ././common/inc/conftest.h:28, from nvidia/internal_crypt_lib.h:32, from nvidia/libspdm_aead.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-vm.o] Error 1 CC [M] nvidia/libspdm_hkdf.o In file included from ././common/inc/conftest.h:28, from nvidia/internal_crypt_lib.h:32, from nvidia/libspdm_hkdf.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ nvidia/libspdm_aead.c:41:5: warning: no previous prototype for 'libspdm_aead_prealloc' [-Wmissing-prototypes] 41 | int libspdm_aead_prealloc(void **context, char const *alg) | ^~~~~~~~~~~~~~~~~~~~~ nvidia/libspdm_aead.c:171:5: warning: no previous prototype for 'libspdm_aead_prealloced' [-Wmissing-prototypes] 171 | int libspdm_aead_prealloced(void *context, | ^~~~~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/libspdm_aead.o] Error 1 CC [M] nvidia/libspdm_shash.o In file included from ././common/inc/conftest.h:28, from nvidia/internal_crypt_lib.h:32, from nvidia/libspdm_shash.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/libspdm_hkdf.o] Error 1 CC [M] nvidia/nvlink_linux.o In file included from ././common/inc/conftest.h:28, from nvidia/nvlink_linux.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia/os-mlock.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/os-pci.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/os-usermap.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/libspdm_shash.o] Error 1 CC [M] nvidia/linux_nvswitch.o nvidia/nv-kthread-q.c: In function 'thread_create_on_node': nvidia/nv-kthread-q.c:179:5: warning: 'static' is not at beginning of declaration [-Wold-style-declaration] 179 | const static unsigned attempts = 3; | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from nvidia/linux_nvswitch.h:28, from nvidia/linux_nvswitch.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': In file included from ././common/inc/nv-linux.h:34, from nvidia/os-registry.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-kthread-q.o] Error 1 In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ CC [M] nvidia/procfs_nvswitch.o ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-modeset-interface.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from nvidia/linux_nvswitch.h:28, from nvidia/procfs_nvswitch.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-frontend.c:25: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv_uvm_interface.c:33: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-pci.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia/i2c_nvswitch.o ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia/os-mlock.c: In function 'nv_follow_pfn': nvidia/os-mlock.c:34:12: error: implicit declaration of function 'unsafe_follow_pfn'; did you mean 'nv_follow_pfn'? [-Wimplicit-function-declaration] 34 | return unsafe_follow_pfn(vma, address, pfn); | ^~~~~~~~~~~~~~~~~ | nv_follow_pfn In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from nvidia/linux_nvswitch.h:28, from nvidia/i2c_nvswitch.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-mlock.o] Error 1 make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-usermap.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/nv-linux.h:34, from nvidia/nvlink_linux.c:30: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/xarray.h:16, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/list_lru.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:13, from nvidia/nvlink_linux.h:30, from nvidia/nvlink_linux.c:27: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from nvidia/nvlink_linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/build_bug.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/init.h:5, from nvidia/nvlink_linux.h:27: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stat.h:19, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:10: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-memdbg.o] Error 1 In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia/nv-ibmnpu.c: At top level: nvidia/nv-ibmnpu.c:395:6: warning: no previous prototype for 'nv_init_ibmnpu_info' [-Wmissing-prototypes] 395 | void nv_init_ibmnpu_info(nv_state_t *nv) | ^~~~~~~~~~~~~~~~~~~ nvidia/nv-ibmnpu.c:399:6: warning: no previous prototype for 'nv_destroy_ibmnpu_info' [-Wmissing-prototypes] 399 | void nv_destroy_ibmnpu_info(nv_state_t *nv) | ^~~~~~~~~~~~~~~~~~~~~~ nvidia/nv-ibmnpu.c:403:5: warning: no previous prototype for 'nv_init_ibmnpu_devices' [-Wmissing-prototypes] 403 | int nv_init_ibmnpu_devices(nv_state_t *nv) | ^~~~~~~~~~~~~~~~~~~~~~ nvidia/nv-ibmnpu.c:408:6: warning: no previous prototype for 'nv_unregister_ibmnpu_devices' [-Wmissing-prototypes] 408 | void nv_unregister_ibmnpu_devices(nv_state_t *nv) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia/nv-ibmnpu.c:428:5: warning: no previous prototype for 'nv_get_ibmnpu_chip_id' [-Wmissing-prototypes] 428 | int nv_get_ibmnpu_chip_id(nv_state_t *nv) | ^~~~~~~~~~~~~~~~~~~~~ nvidia/nv-ibmnpu.c:437:6: warning: no previous prototype for 'nv_ibmnpu_cache_flush_numa_region' [-Wmissing-prototypes] 437 | void nv_ibmnpu_cache_flush_numa_region(nv_state_t *nv) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-ibmnpu.o] Error 1 make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-registry.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-modeset-interface.o] Error 1 make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-frontend.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma nvidia/nv-msi.c: In function 'nv_init_msi': ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 602 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-msi.c:39:9: note: in expansion of macro 'NV_KZALLOC' 39 | NV_KZALLOC(nvl->irq_count, sizeof(nv_irq_count_info_t) * nvl->num_intr); | ^~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-report-err.o] Error 1 nvidia/nv-msi.c: In function 'nv_init_msix': ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-msi.c:90:5: note: in expansion of macro 'NV_KMALLOC' 90 | NV_KMALLOC(nvl->msix_entries, sizeof(struct msix_entry) * num_intr); | ^~~~~~~~~~ ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 602 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-msi.c:102:5: note: in expansion of macro 'NV_KZALLOC' 102 | NV_KZALLOC(nvl->irq_count, sizeof(nv_irq_count_info_t) * num_intr); | ^~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-msi.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-rsync.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv_uvm_interface.o] Error 1 nvidia/nv-caps.c: At top level: nvidia/nv-caps.c:269:5: warning: no previous prototype for 'nv_cap_procfs_init' [-Wmissing-prototypes] 269 | int nv_cap_procfs_init(void) | ^~~~~~~~~~~~~~~~~~ In file included from ././common/inc/nv-procfs.h:26, from nvidia/nv-caps.c:26: nvidia/nv-caps.c: In function 'nv_cap_procfs_init': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-caps.c:279:18: note: in expansion of macro 'NV_CREATE_PROC_FILE' 279 | file_entry = NV_CREATE_PROC_FILE("mig-minors", nv_cap_procfs_dir, | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19, from ././common/inc/nv-linux.h:220: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-caps.c:286:18: note: in expansion of macro 'NV_CREATE_PROC_FILE' 286 | file_entry = NV_CREATE_PROC_FILE("nvlink-minors", nv_cap_procfs_dir, | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-caps.c:293:18: note: in expansion of macro 'NV_CREATE_PROC_FILE' 293 | file_entry = NV_CREATE_PROC_FILE("sys-minors", nv_cap_procfs_dir, | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/string.h:392, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/bitmap.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/cpumask.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/paravirt.h:21, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/irqflags.h:102, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/irqflags.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:59: nvidia/nv-caps.c: In function 'nv_cap_find_minor': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fortify-string.h:259:38: error: passing argument 2 of 'full_name_hash' makes pointer from integer without a cast [-Wint-conversion] 258 | __builtin_choose_expr(__is_constexpr(__builtin_strlen(p)), \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 259 | __builtin_strlen(p), __fortify_strlen(p)) | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ | | | __kernel_size_t {aka long unsigned int} ././common/inc/nv-hash.h:41:51: note: in expansion of macro 'strlen' 41 | #define nv_string_hash(_str) full_name_hash(_str, strlen(_str)) | ^~~~~~ nvidia/nv-caps.c:42:32: note: in expansion of macro 'nv_string_hash' 42 | #define nv_cap_hash_key(path) (nv_string_hash(path) % NV_CAP_HASH_SIZE) | ^~~~~~~~~~~~~~ nvidia/nv-caps.c:310:24: note: in expansion of macro 'nv_cap_hash_key' 310 | unsigned int key = nv_cap_hash_key(path); | ^~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/dcache.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:8, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/huge_mm.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:1133: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stringhash.h:66:61: note: expected 'const char *' but argument is of type '__kernel_size_t' {aka 'long unsigned int'} 66 | extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int); | ^~~~~~~~~~~~ In file included from nvidia/nv-caps.c:27: ././common/inc/nv-hash.h:41:30: error: too few arguments to function 'full_name_hash'; expected 3, have 2 41 | #define nv_string_hash(_str) full_name_hash(_str, strlen(_str)) | ^~~~~~~~~~~~~~ nvidia/nv-caps.c:42:32: note: in expansion of macro 'nv_string_hash' 42 | #define nv_cap_hash_key(path) (nv_string_hash(path) % NV_CAP_HASH_SIZE) | ^~~~~~~~~~~~~~ nvidia/nv-caps.c:310:24: note: in expansion of macro 'nv_cap_hash_key' 310 | unsigned int key = nv_cap_hash_key(path); | ^~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stringhash.h:66:28: note: declared here 66 | extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int); | ^~~~~~~~~~~~~~ nvidia/nv-caps.c: In function '_nv_cap_table_init': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fortify-string.h:259:38: error: passing argument 2 of 'full_name_hash' makes pointer from integer without a cast [-Wint-conversion] 258 | __builtin_choose_expr(__is_constexpr(__builtin_strlen(p)), \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 259 | __builtin_strlen(p), __fortify_strlen(p)) | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ | | | __kernel_size_t {aka long unsigned int} ././common/inc/nv-hash.h:41:51: note: in expansion of macro 'strlen' 41 | #define nv_string_hash(_str) full_name_hash(_str, strlen(_str)) | ^~~~~~ nvidia/nv-caps.c:42:32: note: in expansion of macro 'nv_string_hash' 42 | #define nv_cap_hash_key(path) (nv_string_hash(path) % NV_CAP_HASH_SIZE) | ^~~~~~~~~~~~~~ nvidia/nv-caps.c:334:15: note: in expansion of macro 'nv_cap_hash_key' 334 | key = nv_cap_hash_key(table[i].name); | ^~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stringhash.h:66:61: note: expected 'const char *' but argument is of type '__kernel_size_t' {aka 'long unsigned int'} 66 | extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int); | ^~~~~~~~~~~~ ././common/inc/nv-hash.h:41:30: error: too few arguments to function 'full_name_hash'; expected 3, have 2 41 | #define nv_string_hash(_str) full_name_hash(_str, strlen(_str)) | ^~~~~~~~~~~~~~ nvidia/nv-caps.c:42:32: note: in expansion of macro 'nv_string_hash' 42 | #define nv_cap_hash_key(path) (nv_string_hash(path) % NV_CAP_HASH_SIZE) | ^~~~~~~~~~~~~~ nvidia/nv-caps.c:334:15: note: in expansion of macro 'nv_cap_hash_key' 334 | key = nv_cap_hash_key(table[i].name); | ^~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stringhash.h:66:28: note: declared here 66 | extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int); | ^~~~~~~~~~~~~~ nvidia/nv-caps.c: In function 'nv_cap_procfs_open': ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-caps.c:410:5: note: in expansion of macro 'NV_KMALLOC' 410 | NV_KMALLOC(private, sizeof(nv_cap_file_private_t)); | ^~~~~~~~~~ nvidia/nv-caps.c: In function 'nv_cap_alloc': ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-caps.c:614:5: note: in expansion of macro 'NV_KMALLOC' 614 | NV_KMALLOC(cap, sizeof(nv_cap_t)); | ^~~~~~~~~~ ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-caps.c:621:5: note: in expansion of macro 'NV_KMALLOC' 621 | NV_KMALLOC(cap->path, len); | ^~~~~~~~~~ ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-caps.c:633:5: note: in expansion of macro 'NV_KMALLOC' 633 | NV_KMALLOC(cap->name, len); | ^~~~~~~~~~ nvidia/nv-caps.c: In function 'nv_cap_create_file_entry': nvidia/nv-caps.c:688:35: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 688 | &g_nv_cap_procfs_fops, (void*)cap); | ^~~~~~~~~~~~~~~~~~~~~ | | | nv_proc_ops_t * {aka struct file_operations *} /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'nv_proc_ops_t *' {aka 'struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ nvidia/nv-caps.c: In function 'nv_cap_init': ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-caps.c:738:5: note: in expansion of macro 'NV_KMALLOC' 738 | NV_KMALLOC(name, (strlen(path) + strlen(dir)) + 1); | ^~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-caps.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/nv-procfs.h:26, from nvidia/procfs_nvswitch.c:25: nvidia/procfs_nvswitch.c: In function 'nvswitch_procfs_device_add': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/procfs_nvswitch.c:135:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 135 | entry = NV_CREATE_PROC_FILE("information", device_dir, device_info, | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19, from ././common/inc/nv-linux.h:220: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ nvidia/procfs_nvswitch.c: In function 'nvswitch_procfs_init': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/procfs_nvswitch.c:174:28: note: in expansion of macro 'NV_CREATE_PROC_FILE' 174 | nvswitch_permissions = NV_CREATE_PROC_FILE("permissions", | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/procfs_nvswitch.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/nv-procfs.h:26, from nvidia/nvlink_linux.c:31: nvidia/nvlink_linux.c: In function 'nvlink_permissions_init': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nvlink_linux.c:115:26: note: in expansion of macro 'NV_CREATE_PROC_FILE' 115 | nvlink_permissions = NV_CREATE_PROC_FILE("permissions", | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19, from ././common/inc/nv-linux.h:220: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ nvidia/nvlink_linux.c: At top level: nvidia/nvlink_linux.c:313:12: warning: no previous prototype for 'nvlink_core_init' [-Wmissing-prototypes] 313 | int __init nvlink_core_init(void) | ^~~~~~~~~~~~~~~~ nvidia/nvlink_linux.c:389:6: warning: no previous prototype for 'nvlink_core_exit' [-Wmissing-prototypes] 389 | void nvlink_core_exit(void) | ^~~~~~~~~~~~~~~~ nvidia/linux_nvswitch.c: At top level: nvidia/linux_nvswitch.c:52:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration] 52 | const static struct | ^~~~~ nvidia/linux_nvswitch.c:1705:1: warning: no previous prototype for 'nvswitch_init' [-Wmissing-prototypes] 1705 | nvswitch_init | ^~~~~~~~~~~~~ nvidia/linux_nvswitch.c:1790:1: warning: no previous prototype for 'nvswitch_exit' [-Wmissing-prototypes] 1790 | nvswitch_exit | ^~~~~~~~~~~~~ nvidia/linux_nvswitch.c: In function 'nvswitch_os_get_platform_time': nvidia/linux_nvswitch.c:1827:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 1827 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia/linux_nvswitch.c: In function 'nvswitch_os_get_platform_time_epoch': nvidia/linux_nvswitch.c:1849:25: error: passing argument 1 of 'ktime_get_real_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 1849 | ktime_get_real_ts64(&ts); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:44:52: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 44 | extern void ktime_get_real_ts64(struct timespec64 *tv); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nvlink_linux.o] Error 1 make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/linux_nvswitch.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/i2c_nvswitch.o] Error 1 make[4]: Target './' not remade because of errors. make[3]: *** [/usr/lib/modules/6.14.6-arch1-1/build/Makefile:1997: .] Error 2 make[3]: Target 'modules' not remade because of errors. make[2]: *** [/usr/lib/modules/6.14.6-arch1-1/build/Makefile:251: __sub-make] Error 2 make[2]: Target 'modules' not remade because of errors. make[2]: Leaving directory '/tmp/selfgz13746/NVIDIA-Linux-x86_64-535.161.07-grid/kernel' make[1]: *** [Makefile:251: __sub-make] Error 2 make[1]: Target 'modules' not remade because of errors. make[1]: Leaving directory '/usr/lib/modules/6.14.6-arch1-1/build' make: *** [Makefile:82: modules] Error 2 -> Error. ERROR: An error occurred while performing the step: "Checking to see whether the nvidia kernel module was successfully built". See /var/log/nvidia-installer.log for details. -> The command `cd ./kernel; /usr/bin/make -k -j16 NV_EXCLUDE_KERNEL_MODULES="" SYSSRC="/lib/modules/6.14.6-arch1-1/build" SYSOUT="/lib/modules/6.14.6-arch1-1/build" NV_KERNEL_MODULES="nvidia"` failed with the following output: make[1]: Entering directory '/usr/lib/modules/6.14.6-arch1-1/build' make[2]: Entering directory '/tmp/selfgz13746/NVIDIA-Linux-x86_64-535.161.07-grid/kernel' warning: the compiler differs from the one used to build the kernel The kernel was built by: gcc (GCC) 15.1.1 20250425 You are using: cc (GCC) 15.1.1 20250425 SYMLINK nvidia/nv-kernel.o CC [M] nvidia/nv.o CC [M] nvidia/nv-pci.o CC [M] nvidia/nv-dmabuf.o CC [M] nvidia/nv-nano-timer.o CC [M] nvidia/nv-acpi.o CC [M] nvidia/nv-cray.o CC [M] nvidia/nv-dma.o CC [M] nvidia/nv-i2c.o CC [M] nvidia/nv-mmap.o CC [M] nvidia/nv-p2p.o CC [M] nvidia/nv-pat.o CC [M] nvidia/nv-procfs.o CC [M] nvidia/nv-usermap.o CC [M] nvidia/nv-vm.o CC [M] nvidia/nv-vtophys.o CC [M] nvidia/os-interface.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-dma.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-cray.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-acpi.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-mmap.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-p2p.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-usermap.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-pat.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-vm.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/os-interface.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-vtophys.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-procfs.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-nano-timer.c:30: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv.c:33: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-nano-timer.c:31: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/nospec-branch.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/paravirt_types.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/ptrace.h:175, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/math_emu.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/processor.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/timex.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timex.h:67, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time32.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:60, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer_defs.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/hrtimer.h:15, from nvidia/nv-nano-timer.c:27: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/array_size.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kernel.h:16, from nvidia/nv-nano-timer.c:26: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-usermap.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': In file included from ././common/inc/nv-linux.h:34, from nvidia/nv.c:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/umh.h:4, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kmod.h:9, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:17, from nvidia/nv.c:24: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/nospec-branch.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/paravirt_types.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/ptrace.h:175, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/math_emu.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/processor.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/timex.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timex.h:67, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time32.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:60, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stat.h:19, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:13: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/build_bug.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/container_of.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/list.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/module.h:12: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-pat.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-mmap.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-procfs.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-pci-types.h:28, from nvidia/nv-pci.c:25: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from ././common/inc/nv-dmabuf.h:27, from nvidia/nv-dmabuf.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from ././common/inc/nv-pci.h:28, from nvidia/nv-pci.c:26: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/xarray.h:16, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/radix-tree.h:21, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/idr.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kernfs.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sysfs.h:16, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kobject.h:20, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/pci.h:35, from nvidia/nv-pci-table.h:27, from nvidia/nv-pci.c:24: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mutex.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kernfs.h:11: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/scatterlist.h:8, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/dmapool.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/pci.h:1662: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/mei_uuid.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/mei.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mod_devicetable.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/pci.h:27: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/scatterlist.h:8, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/dma-buf.h:19, from nvidia/nv-dmabuf.c:23: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/nospec-branch.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/irqflags.h:9, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/irqflags.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/special_insns.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/io.h:45, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/io.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/iosys-map.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/dma-buf.h:16: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/io.h:10: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-vm.c:26: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from nvidia/nv-vm.c:25: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-p2p.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-cray.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/os-interface.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-dma.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-acpi.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-vtophys.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-i2c.c:28: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-i2c.c:29: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/slab.h:16, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/resource_ext.h:11, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/acpi.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/i2c.h:13, from nvidia/nv-i2c.c:26: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:8: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/memcontrol.h:21, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/swap.h:9, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/suspend.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/regulator/consumer.h:35, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/i2c.h:19: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/build_bug.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/bits.h:22, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ioport.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/acpi.h:12: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia/nv-nano-timer.c: In function 'nv_alloc_nano_timer': ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-nano-timer.c:86:5: note: in expansion of macro 'NV_KMALLOC' 86 | NV_KMALLOC(nv_nstimer, sizeof(nv_nano_timer_t)); | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/sound/hdaudio.h:18, from nvidia/nv.c:70: /usr/lib/modules/6.14.6-arch1-1/build/include/sound/pcm.h: In function 'snd_pcm_gettime': /usr/lib/modules/6.14.6-arch1-1/build/include/sound/pcm.h:1292:32: error: passing argument 1 of 'ktime_get_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 1292 | ktime_get_ts64(tv); | ^~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:43:47: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 43 | extern void ktime_get_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/sound/pcm.h:1295:36: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 1295 | ktime_get_raw_ts64(tv); | ^~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ /usr/lib/modules/6.14.6-arch1-1/build/include/sound/pcm.h:1298:37: error: passing argument 1 of 'ktime_get_real_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 1298 | ktime_get_real_ts64(tv); | ^~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:44:52: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 44 | extern void ktime_get_real_ts64(struct timespec64 *tv); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia/nv-pci.c: In function 'nv_pci_probe': ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 602 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-pci.c:396:5: note: in expansion of macro 'NV_KZALLOC' 396 | NV_KZALLOC(nvl, sizeof(nv_linux_state_t)); | ^~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ nvidia/nv.c: In function 'nvos_create_alloc': ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 602 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv.c:262:5: note: in expansion of macro 'NV_KZALLOC' 262 | NV_KZALLOC(at, sizeof(nv_alloc_t)); | ^~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-nano-timer.o] Error 1 nvidia/nv.c: At top level: nvidia/nv.c:735:12: warning: no previous prototype for 'nvidia_init_module' [-Wmissing-prototypes] 735 | int __init nvidia_init_module(void) | ^~~~~~~~~~~~~~~~~~ nvidia/nv.c:855:6: warning: no previous prototype for 'nvidia_exit_module' [-Wmissing-prototypes] 855 | void nvidia_exit_module(void) | ^~~~~~~~~~~~~~~~~~ nvidia/nv.c: In function 'nv_alloc_file_private': ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 602 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv.c:879:5: note: in expansion of macro 'NV_KZALLOC' 879 | NV_KZALLOC(nvlfp, sizeof(nv_linux_file_private_t)); | ^~~~~~~~~~ nvidia/nv.c: At top level: nvidia/nv.c:1124:23: warning: no previous prototype for 'nv_get_num_dpaux_instances' [-Wmissing-prototypes] 1124 | NV_STATUS NV_API_CALL nv_get_num_dpaux_instances(nv_state_t *nv, NvU32 *num_instances) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia/os-mlock.o ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': nvidia/nv.c: In function 'nvidia_ioctl': ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv.c:2104:5: note: in expansion of macro 'NV_KMALLOC' 2104 | NV_KMALLOC(arg_copy, arg_size); | ^~~~~~~~~~ ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv.c:2165:13: note: in expansion of macro 'NV_KMALLOC' 2165 | NV_KMALLOC(nvlfp->attached_gpus, arg_size); | ^~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-usermap.o] Error 1 nvidia/nv.c: In function 'nv_map_guest_pages': ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv.c:2805:5: note: in expansion of macro 'NV_KMALLOC' 2805 | NV_KMALLOC(pages, sizeof(struct page *) * page_count); | ^~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-dmabuf.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia/os-pci.o nvidia/nv.c: In function 'nv_alloc_kernel_mapping': ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv.c:3282:13: note: in expansion of macro 'NV_KMALLOC' 3282 | NV_KMALLOC(pages, sizeof(struct page *) * page_count); | ^~~~~~~~~~ nvidia/nv.c: In function 'nv_post_event': ././common/inc/nv-linux.h:609:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 609 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv.c:3554:9: note: in expansion of macro 'NV_KMALLOC_ATOMIC' 3554 | NV_KMALLOC_ATOMIC(nvet, sizeof(nvidia_event_t)); | ^~~~~~~~~~~~~~~~~ CC [M] nvidia/os-registry.o ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-pci.o] Error 1 In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/os-mlock.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ CC [M] nvidia/os-usermap.o ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/os-pci.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/os-registry.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/os-usermap.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-pat.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir CC [M] nvidia/nv-modeset-interface.o ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma nvidia/nv-mmap.c: At top level: nvidia/nv-mmap.c:299:15: error: initialization of 'vm_fault_t (*)(struct vm_fault *)' {aka 'unsigned int (*)(struct vm_fault *)'} from incompatible pointer type 'vm_fault_t (*)(struct vm_area_struct *, struct vm_fault *)' {aka 'int (*)(struct vm_area_struct *, struct vm_fault *)'} [-Wincompatible-pointer-types] 299 | .fault = nvidia_fault, | ^~~~~~~~~~~~ nvidia/nv-mmap.c:299:15: note: (near initialization for 'nv_vm_ops.fault') nvidia/nv-mmap.c:201:19: note: 'nvidia_fault' declared here 201 | static vm_fault_t nvidia_fault( | ^~~~~~~~~~~~ nvidia/nv-mmap.c:303:5: warning: conflicting types for 'nv_encode_caching' due to enum/integer mismatch; have 'int(pgprot_t *, NvU32, nv_memory_type_t)' {aka 'int(struct pgprot *, unsigned int, nv_memory_type_t)'} [-Wenum-int-mismatch] 303 | int nv_encode_caching( | ^~~~~~~~~~~~~~~~~ In file included from ././common/inc/nv-linux.h:1761: ././common/inc/nv-proto.h:46:13: note: previous declaration of 'nv_encode_caching' with type 'int(pgprot_t *, NvU32, NvU32)' {aka 'int(struct pgprot *, unsigned int, unsigned int)'} 46 | int nv_encode_caching (pgprot_t *, NvU32, NvU32); | ^~~~~~~~~~~~~~~~~ nvidia/nv-mmap.c:371:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration] 371 | int static nvidia_mmap_peer_io( | ^~~ nvidia/nv-mmap.c:392:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration] 392 | int static nvidia_mmap_sysmem( | ^~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv.o] Error 1 In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-modeset-interface.c:26: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ nvidia/nv-procfs.c: In function 'nv_procfs_open_file': ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 602 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-procfs.c:276:5: note: in expansion of macro 'NV_KZALLOC' 276 | NV_KZALLOC(nvpp, sizeof(nv_procfs_private_t)); | ^~~~~~~~~~ CC [M] nvidia/nv-kthread-q.o nvidia/nv-procfs.c: At top level: nvidia/nv-procfs.c:698:1: warning: no previous prototype for 'exercise_error_forwarding_va' [-Wmissing-prototypes] 698 | exercise_error_forwarding_va( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ././common/inc/nv-procfs.h:26, from nvidia/nv-procfs.c:31: nvidia/nv-procfs.c: In function 'nv_procfs_add_text_file': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1312:5: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1312 | NV_CREATE_PROC_FILE(filename, parent, text_file, (void *)text); | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19, from ././common/inc/nv-linux.h:220: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ nvidia/nv-procfs.c: In function 'nv_procfs_init': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1342:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1342 | entry = NV_CREATE_PROC_FILE("params", proc_nvidia, params, NULL); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1346:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1346 | entry = NV_CREATE_PROC_FILE("registry", proc_nvidia, registry, NULL); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1351:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1351 | entry = NV_CREATE_PROC_FILE("suspend_depth", proc_nvidia, suspend_depth, NULL); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1355:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1355 | entry = NV_CREATE_PROC_FILE("suspend", proc_nvidia, suspend, NULL); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1377:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1377 | entry = NV_CREATE_PROC_FILE("version", proc_nvidia, version, NULL); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia/nv-procfs.c: In function 'nv_procfs_add_gpu': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1419:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1419 | entry = NV_CREATE_PROC_FILE("information", proc_nvidia_gpu, gpu_info, | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1424:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1424 | entry = NV_CREATE_PROC_FILE("registry", proc_nvidia_gpu, registry, nv); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1428:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1428 | entry = NV_CREATE_PROC_FILE("power", proc_nvidia_gpu, power, nv); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1434:17: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1434 | entry = NV_CREATE_PROC_FILE("exercise_error_forwarding", proc_nvidia_gpu, | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1442:17: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1442 | entry = NV_CREATE_PROC_FILE("unbindLock", proc_nvidia_gpu, unbind_lock, nv); | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1449:17: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1449 | entry = NV_CREATE_PROC_FILE("numa_status", proc_nvidia_gpu, numa_status, | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-procfs.c:1454:17: note: in expansion of macro 'NV_CREATE_PROC_FILE' 1454 | entry = NV_CREATE_PROC_FILE("offline_pages", proc_nvidia_gpu, offline_pages, | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-mmap.o] Error 1 CC [M] nvidia/nv-memdbg.o ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-procfs.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from nvidia/nv-memdbg.c:25: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia/nv-ibmnpu.o ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-i2c.o] Error 1 CC [M] nvidia/nv-report-err.o ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from nvidia/nv-ibmnpu.c:27: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from nvidia/nv-report-err.c:25: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia/nv-dma.c: At top level: nvidia/nv-dma.c:293:6: warning: no previous prototype for 'nv_load_dma_map_scatterlist' [-Wmissing-prototypes] 293 | void nv_load_dma_map_scatterlist( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia/nv-dma.c:489:23: warning: no previous prototype for 'nv_dma_unmap_sgt' [-Wmissing-prototypes] 489 | NV_STATUS NV_API_CALL nv_dma_unmap_sgt( | ^~~~~~~~~~~~~~~~ nvidia/os-interface.c: At top level: nvidia/os-interface.c:370:7: warning: no previous prototype for 'os_mem_copy_custom' [-Wmissing-prototypes] 370 | void *os_mem_copy_custom( | ^~~~~~~~~~~~~~~~~~ nvidia/os-interface.c: In function 'os_alloc_mem': ././common/inc/nv-linux.h:609:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 609 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/os-interface.c:584:13: note: in expansion of macro 'NV_KMALLOC_ATOMIC' 584 | NV_KMALLOC_ATOMIC(*address, alloc_size); | ^~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:624:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 624 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/os-interface.c:590:13: note: in expansion of macro 'NV_KMALLOC_NO_OOM' 590 | NV_KMALLOC_NO_OOM(*address, alloc_size); | ^~~~~~~~~~~~~~~~~ nvidia/os-interface.c: In function 'os_get_current_time': nvidia/os-interface.c:633:25: error: passing argument 1 of 'ktime_get_real_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 633 | ktime_get_real_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:44:52: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 44 | extern void ktime_get_real_ts64(struct timespec64 *tv); | ~~~~~~~~~~~~~~~~~~~^~ nvidia/os-interface.c: In function 'os_get_current_tick_hr': nvidia/os-interface.c:647:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 647 | ktime_get_raw_ts64(&tm); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia/os-interface.c: In function 'os_get_current_tick': nvidia/os-interface.c:656:21: error: storage size of 'ts' isn't known 656 | struct timespec ts; | ^~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-dma.o] Error 1 CC [M] nvidia/nv-rsync.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-cray.o] Error 1 nvidia/os-interface.c:657:5: error: implicit declaration of function 'jiffies_to_timespec'; did you mean 'jiffies_to_timespec64'? [-Wimplicit-function-declaration] 657 | jiffies_to_timespec(jiffies, &ts); | ^~~~~~~~~~~~~~~~~~~ | jiffies_to_timespec64 CC [M] nvidia/nv-msi.o make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-vtophys.o] Error 1 CC [M] nvidia/nv-caps.o nvidia/os-interface.c:658:20: error: implicit declaration of function 'timespec_to_ns'; did you mean 'timespec64_to_ns'? [-Wimplicit-function-declaration] 658 | return (NvU64) timespec_to_ns(&ts); | ^~~~~~~~~~~~~~ | timespec64_to_ns nvidia/os-interface.c:656:21: warning: unused variable 'ts' [-Wunused-variable] 656 | struct timespec ts; | ^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-p2p.o] Error 1 In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from nvidia/nv-rsync.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ CC [M] nvidia/nv-frontend.o nvidia/os-interface.c: In function 'os_queue_work_item': ././common/inc/nv-linux.h:609:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 609 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/os-interface.c:1113:5: note: in expansion of macro 'NV_KMALLOC_ATOMIC' 1113 | NV_KMALLOC_ATOMIC(oqd, sizeof(os_queue_data_t)); | ^~~~~~~~~~~~~~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from ././common/inc/nv-msi.h:27, from nvidia/nv-msi.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ nvidia/nv-vm.c: In function 'nv_set_memory_array_type': nvidia/nv-vm.c:92:13: error: implicit declaration of function 'set_memory_array_uc'; did you mean 'set_pages_array_uc'? [-Wimplicit-function-declaration] 92 | set_memory_array_uc(pages, num_pages); | ^~~~~~~~~~~~~~~~~~~ | set_pages_array_uc nvidia/os-interface.c: In function 'os_write_file': nvidia/os-interface.c:1792:54: error: passing argument 4 of 'kernel_write' makes pointer from integer without a cast [-Wint-conversion] 1792 | num_written = kernel_write(pFile, pBuffer, size, f_pos); | ^~~~~ | | | loff_t {aka long long int} nvidia/os-interface.c:1792:54: note: possible fix: take the address with '&' 1792 | num_written = kernel_write(pFile, pBuffer, size, f_pos); | ^~~~~ | & In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/huge_mm.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:1133: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:3189:66: note: expected 'loff_t *' {aka 'long long int *'} but argument is of type 'loff_t' {aka 'long long int'} 3189 | extern ssize_t kernel_write(struct file *, const void *, size_t, loff_t *); | ^~~~~~~~ nvidia/os-interface.c: In function 'os_read_file': nvidia/os-interface.c:1832:35: error: passing argument 2 of 'kernel_read' makes pointer from integer without a cast [-Wint-conversion] 1832 | num_read = kernel_read(pFile, f_pos, pBuffer, size); | ^~~~~ | | | loff_t {aka long long int} /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:3187:43: note: expected 'void *' but argument is of type 'loff_t' {aka 'long long int'} 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *); | ^~~~~~ nvidia/os-interface.c:1832:42: error: passing argument 3 of 'kernel_read' makes integer from pointer without a cast [-Wint-conversion] 1832 | num_read = kernel_read(pFile, f_pos, pBuffer, size); | ^~~~~~~ | | | NvU8 * {aka unsigned char *} /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:3187:51: note: expected 'size_t' {aka 'long unsigned int'} but argument is of type 'NvU8 *' {aka 'unsigned char *'} 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *); | ^~~~~~ nvidia/os-interface.c:1832:51: error: passing argument 4 of 'kernel_read' makes pointer from integer without a cast [-Wint-conversion] 1832 | num_read = kernel_read(pFile, f_pos, pBuffer, size); | ^~~~ | | | NvU64 {aka long long unsigned int} /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:3187:59: note: expected 'loff_t *' {aka 'long long int *'} but argument is of type 'NvU64' {aka 'long long unsigned int'} 3187 | extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *); | ^~~~~~~~ nvidia/os-interface.c: In function 'os_alloc_wait_queue': ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/os-interface.c:1945:5: note: in expansion of macro 'NV_KMALLOC' 1945 | NV_KMALLOC(*wq, sizeof(os_wait_queue)); | ^~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-acpi.o] Error 1 CC [M] nvidia/nv_uvm_interface.o In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from nvidia/nv-caps.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv-frontend.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/os-interface.h:40, from nvidia/nv_uvm_interface.c:32: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv-kthread-q.h:33, from nvidia/nv-kthread-q.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-interface.o] Error 1 CC [M] nvidia/libspdm_aead.o nvidia/nv-vm.c:95:13: error: implicit declaration of function 'set_memory_array_wb'; did you mean 'set_pages_array_wb'? [-Wimplicit-function-declaration] 95 | set_memory_array_wb(pages, num_pages); | ^~~~~~~~~~~~~~~~~~~ | set_pages_array_wb In file included from ././common/inc/conftest.h:28, from nvidia/internal_crypt_lib.h:32, from nvidia/libspdm_aead.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-vm.o] Error 1 CC [M] nvidia/libspdm_hkdf.o In file included from ././common/inc/conftest.h:28, from nvidia/internal_crypt_lib.h:32, from nvidia/libspdm_hkdf.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ nvidia/libspdm_aead.c:41:5: warning: no previous prototype for 'libspdm_aead_prealloc' [-Wmissing-prototypes] 41 | int libspdm_aead_prealloc(void **context, char const *alg) | ^~~~~~~~~~~~~~~~~~~~~ nvidia/libspdm_aead.c:171:5: warning: no previous prototype for 'libspdm_aead_prealloced' [-Wmissing-prototypes] 171 | int libspdm_aead_prealloced(void *context, | ^~~~~~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/libspdm_aead.o] Error 1 CC [M] nvidia/libspdm_shash.o In file included from ././common/inc/conftest.h:28, from nvidia/internal_crypt_lib.h:32, from nvidia/libspdm_shash.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/libspdm_hkdf.o] Error 1 CC [M] nvidia/nvlink_linux.o In file included from ././common/inc/conftest.h:28, from nvidia/nvlink_linux.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34, from nvidia/os-mlock.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/os-pci.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/os-usermap.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/libspdm_shash.o] Error 1 CC [M] nvidia/linux_nvswitch.o nvidia/nv-kthread-q.c: In function 'thread_create_on_node': nvidia/nv-kthread-q.c:179:5: warning: 'static' is not at beginning of declaration [-Wold-style-declaration] 179 | const static unsigned attempts = 3; | ^~~~~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from nvidia/linux_nvswitch.h:28, from nvidia/linux_nvswitch.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': In file included from ././common/inc/nv-linux.h:34, from nvidia/os-registry.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-kthread-q.o] Error 1 In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ CC [M] nvidia/procfs_nvswitch.o ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-modeset-interface.c:27: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from nvidia/linux_nvswitch.h:28, from nvidia/procfs_nvswitch.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv-frontend.c:25: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34, from nvidia/nv_uvm_interface.c:33: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35, from ././common/inc/nv-linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-pci.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ CC [M] nvidia/i2c_nvswitch.o ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia/os-mlock.c: In function 'nv_follow_pfn': nvidia/os-mlock.c:34:12: error: implicit declaration of function 'unsafe_follow_pfn'; did you mean 'nv_follow_pfn'? [-Wimplicit-function-declaration] 34 | return unsafe_follow_pfn(vma, address, pfn); | ^~~~~~~~~~~~~~~~~ | nv_follow_pfn In file included from ././common/inc/conftest.h:28, from ././common/inc/nv_stdarg.h:29, from ././common/inc/nv.h:41, from ././common/inc/nv-linux.h:28, from nvidia/linux_nvswitch.h:28, from nvidia/i2c_nvswitch.c:24: ././conftest/functions.h:74:2: error: #error dma_buf_export() conftest failed! 74 | #error dma_buf_export() conftest failed! | ^~~~~ ././conftest/functions.h:87:2: error: #error wait_on_bit_lock() conftest failed! 87 | #error wait_on_bit_lock() conftest failed! | ^~~~~ ././conftest/functions.h:90:2: error: #error radix_tree_replace_slot() conftest failed! 90 | #error radix_tree_replace_slot() conftest failed! | ^~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-mlock.o] Error 1 make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-usermap.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/nv-linux.h:34, from nvidia/nvlink_linux.c:30: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mmzone.h:22, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/gfp.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/xarray.h:16, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/list_lru.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:13, from nvidia/nvlink_linux.h:30, from nvidia/nvlink_linux.c:27: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched.h:12, from nvidia/nvlink_linux.h:28: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/posix_types.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/uapi/linux/types.h:14, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/types.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/kasan-checks.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/asm-generic/rwonce.h:26, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/generated/asm/rwonce.h:1, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/compiler.h:344, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/build_bug.h:5, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/init.h:5, from nvidia/nvlink_linux.h:27: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stat.h:19, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:10: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-memdbg.o] Error 1 In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmap': In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir nvidia/nv-ibmnpu.c: At top level: nvidia/nv-ibmnpu.c:395:6: warning: no previous prototype for 'nv_init_ibmnpu_info' [-Wmissing-prototypes] 395 | void nv_init_ibmnpu_info(nv_state_t *nv) | ^~~~~~~~~~~~~~~~~~~ nvidia/nv-ibmnpu.c:399:6: warning: no previous prototype for 'nv_destroy_ibmnpu_info' [-Wmissing-prototypes] 399 | void nv_destroy_ibmnpu_info(nv_state_t *nv) | ^~~~~~~~~~~~~~~~~~~~~~ nvidia/nv-ibmnpu.c:403:5: warning: no previous prototype for 'nv_init_ibmnpu_devices' [-Wmissing-prototypes] 403 | int nv_init_ibmnpu_devices(nv_state_t *nv) | ^~~~~~~~~~~~~~~~~~~~~~ nvidia/nv-ibmnpu.c:408:6: warning: no previous prototype for 'nv_unregister_ibmnpu_devices' [-Wmissing-prototypes] 408 | void nv_unregister_ibmnpu_devices(nv_state_t *nv) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ nvidia/nv-ibmnpu.c:428:5: warning: no previous prototype for 'nv_get_ibmnpu_chip_id' [-Wmissing-prototypes] 428 | int nv_get_ibmnpu_chip_id(nv_state_t *nv) | ^~~~~~~~~~~~~~~~~~~~~ nvidia/nv-ibmnpu.c:437:6: warning: no previous prototype for 'nv_ibmnpu_cache_flush_numa_region' [-Wmissing-prototypes] 437 | void nv_ibmnpu_cache_flush_numa_region(nv_state_t *nv) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-ibmnpu.o] Error 1 make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/os-registry.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-modeset-interface.o] Error 1 make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-frontend.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma nvidia/nv-msi.c: In function 'nv_init_msi': ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 602 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-msi.c:39:9: note: in expansion of macro 'NV_KZALLOC' 39 | NV_KZALLOC(nvl->irq_count, sizeof(nv_irq_count_info_t) * nvl->num_intr); | ^~~~~~~~~~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-report-err.o] Error 1 nvidia/nv-msi.c: In function 'nv_init_msix': ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-msi.c:90:5: note: in expansion of macro 'NV_KMALLOC' 90 | NV_KMALLOC(nvl->msix_entries, sizeof(struct msix_entry) * num_intr); | ^~~~~~~~~~ ././common/inc/nv-linux.h:602:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 602 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-msi.c:102:5: note: in expansion of macro 'NV_KZALLOC' 102 | NV_KZALLOC(nvl->irq_count, sizeof(nv_irq_count_info_t) * num_intr); | ^~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-msi.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-rsync.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv_uvm_interface.o] Error 1 nvidia/nv-caps.c: At top level: nvidia/nv-caps.c:269:5: warning: no previous prototype for 'nv_cap_procfs_init' [-Wmissing-prototypes] 269 | int nv_cap_procfs_init(void) | ^~~~~~~~~~~~~~~~~~ In file included from ././common/inc/nv-procfs.h:26, from nvidia/nv-caps.c:26: nvidia/nv-caps.c: In function 'nv_cap_procfs_init': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-caps.c:279:18: note: in expansion of macro 'NV_CREATE_PROC_FILE' 279 | file_entry = NV_CREATE_PROC_FILE("mig-minors", nv_cap_procfs_dir, | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19, from ././common/inc/nv-linux.h:220: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-caps.c:286:18: note: in expansion of macro 'NV_CREATE_PROC_FILE' 286 | file_entry = NV_CREATE_PROC_FILE("nvlink-minors", nv_cap_procfs_dir, | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nv-caps.c:293:18: note: in expansion of macro 'NV_CREATE_PROC_FILE' 293 | file_entry = NV_CREATE_PROC_FILE("sys-minors", nv_cap_procfs_dir, | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/string.h:392, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/bitmap.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/cpumask.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/paravirt.h:21, from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/irqflags.h:102, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/irqflags.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:59: nvidia/nv-caps.c: In function 'nv_cap_find_minor': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fortify-string.h:259:38: error: passing argument 2 of 'full_name_hash' makes pointer from integer without a cast [-Wint-conversion] 258 | __builtin_choose_expr(__is_constexpr(__builtin_strlen(p)), \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 259 | __builtin_strlen(p), __fortify_strlen(p)) | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ | | | __kernel_size_t {aka long unsigned int} ././common/inc/nv-hash.h:41:51: note: in expansion of macro 'strlen' 41 | #define nv_string_hash(_str) full_name_hash(_str, strlen(_str)) | ^~~~~~ nvidia/nv-caps.c:42:32: note: in expansion of macro 'nv_string_hash' 42 | #define nv_cap_hash_key(path) (nv_string_hash(path) % NV_CAP_HASH_SIZE) | ^~~~~~~~~~~~~~ nvidia/nv-caps.c:310:24: note: in expansion of macro 'nv_cap_hash_key' 310 | unsigned int key = nv_cap_hash_key(path); | ^~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/dcache.h:15, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fs.h:8, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/huge_mm.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:1133: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stringhash.h:66:61: note: expected 'const char *' but argument is of type '__kernel_size_t' {aka 'long unsigned int'} 66 | extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int); | ^~~~~~~~~~~~ In file included from nvidia/nv-caps.c:27: ././common/inc/nv-hash.h:41:30: error: too few arguments to function 'full_name_hash'; expected 3, have 2 41 | #define nv_string_hash(_str) full_name_hash(_str, strlen(_str)) | ^~~~~~~~~~~~~~ nvidia/nv-caps.c:42:32: note: in expansion of macro 'nv_string_hash' 42 | #define nv_cap_hash_key(path) (nv_string_hash(path) % NV_CAP_HASH_SIZE) | ^~~~~~~~~~~~~~ nvidia/nv-caps.c:310:24: note: in expansion of macro 'nv_cap_hash_key' 310 | unsigned int key = nv_cap_hash_key(path); | ^~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stringhash.h:66:28: note: declared here 66 | extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int); | ^~~~~~~~~~~~~~ nvidia/nv-caps.c: In function '_nv_cap_table_init': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/fortify-string.h:259:38: error: passing argument 2 of 'full_name_hash' makes pointer from integer without a cast [-Wint-conversion] 258 | __builtin_choose_expr(__is_constexpr(__builtin_strlen(p)), \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 259 | __builtin_strlen(p), __fortify_strlen(p)) | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ | | | __kernel_size_t {aka long unsigned int} ././common/inc/nv-hash.h:41:51: note: in expansion of macro 'strlen' 41 | #define nv_string_hash(_str) full_name_hash(_str, strlen(_str)) | ^~~~~~ nvidia/nv-caps.c:42:32: note: in expansion of macro 'nv_string_hash' 42 | #define nv_cap_hash_key(path) (nv_string_hash(path) % NV_CAP_HASH_SIZE) | ^~~~~~~~~~~~~~ nvidia/nv-caps.c:334:15: note: in expansion of macro 'nv_cap_hash_key' 334 | key = nv_cap_hash_key(table[i].name); | ^~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stringhash.h:66:61: note: expected 'const char *' but argument is of type '__kernel_size_t' {aka 'long unsigned int'} 66 | extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int); | ^~~~~~~~~~~~ ././common/inc/nv-hash.h:41:30: error: too few arguments to function 'full_name_hash'; expected 3, have 2 41 | #define nv_string_hash(_str) full_name_hash(_str, strlen(_str)) | ^~~~~~~~~~~~~~ nvidia/nv-caps.c:42:32: note: in expansion of macro 'nv_string_hash' 42 | #define nv_cap_hash_key(path) (nv_string_hash(path) % NV_CAP_HASH_SIZE) | ^~~~~~~~~~~~~~ nvidia/nv-caps.c:334:15: note: in expansion of macro 'nv_cap_hash_key' 334 | key = nv_cap_hash_key(table[i].name); | ^~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stringhash.h:66:28: note: declared here 66 | extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int); | ^~~~~~~~~~~~~~ nvidia/nv-caps.c: In function 'nv_cap_procfs_open': ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-caps.c:410:5: note: in expansion of macro 'NV_KMALLOC' 410 | NV_KMALLOC(private, sizeof(nv_cap_file_private_t)); | ^~~~~~~~~~ nvidia/nv-caps.c: In function 'nv_cap_alloc': ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-caps.c:614:5: note: in expansion of macro 'NV_KMALLOC' 614 | NV_KMALLOC(cap, sizeof(nv_cap_t)); | ^~~~~~~~~~ ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-caps.c:621:5: note: in expansion of macro 'NV_KMALLOC' 621 | NV_KMALLOC(cap->path, len); | ^~~~~~~~~~ ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-caps.c:633:5: note: in expansion of macro 'NV_KMALLOC' 633 | NV_KMALLOC(cap->name, len); | ^~~~~~~~~~ nvidia/nv-caps.c: In function 'nv_cap_create_file_entry': nvidia/nv-caps.c:688:35: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 688 | &g_nv_cap_procfs_fops, (void*)cap); | ^~~~~~~~~~~~~~~~~~~~~ | | | nv_proc_ops_t * {aka struct file_operations *} /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'nv_proc_ops_t *' {aka 'struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ nvidia/nv-caps.c: In function 'nv_cap_init': ././common/inc/nv-linux.h:595:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 595 | NV_MEMDBG_ADD(ptr, size); \ | ^ nvidia/nv-caps.c:738:5: note: in expansion of macro 'NV_KMALLOC' 738 | NV_KMALLOC(name, (strlen(path) + strlen(dir)) + 1); | ^~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nv-caps.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ In file included from ././common/inc/nv-linux.h:34: ././common/inc/nv-mm.h:29:13: error: conflicting types for 'vm_fault_t'; have 'int' 29 | typedef int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/uaccess.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uaccess.h:12, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/task.h:13, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/sched/signal.h:9, from ././common/inc/nv-lock.h:35, from ././common/inc/nv-linux.h:32: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:1311:32: note: previous declaration of 'vm_fault_t' with type 'vm_fault_t' {aka 'unsigned int'} 1311 | typedef __bitwise unsigned int vm_fault_t; | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/preempt.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/preempt.h:79, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/spinlock.h:56, from ././common/inc/nv-lock.h:29: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES': /usr/lib/modules/6.14.6-arch1-1/build/arch/x86/include/asm/current.h:52:17: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 52 | #define current get_current() | ^~~~~~~~~~~~~ | | | struct task_struct * ././common/inc/nv-mm.h:104:31: note: in expansion of macro 'current' 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~ In file included from ././common/inc/nv-pgprot.h:30, from ././common/inc/nv-linux.h:33: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'struct task_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:47: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:104:60: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:104:16: error: too many arguments to function 'get_user_pages'; expected 4, have 8 104 | return get_user_pages(current, current->mm, start, nr_pages, write, | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ In file included from ././common/inc/nv.h:35: ././common/inc/nv-mm.h: In function 'NV_GET_USER_PAGES_REMOTE': /usr/lib/modules/6.14.6-arch1-1/build/include/linux/stddef.h:8:14: error: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ | | | void * ././common/inc/nv-mm.h:213:35: note: in expansion of macro 'NULL' 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:35: note: expected 'long unsigned int' but argument is of type 'void *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:41: error: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~ | | | struct mm_struct * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:56: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *' 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~~~~ ././common/inc/nv-mm.h:213:52: error: passing argument 4 of 'get_user_pages' makes pointer from integer without a cast [-Wint-conversion] 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~ | | | long unsigned int /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2535:59: note: expected 'struct page **' but argument is of type 'long unsigned int' 2535 | unsigned int gup_flags, struct page **pages); | ~~~~~~~~~~~~~~^~~~~ ././common/inc/nv-mm.h:213:20: error: too many arguments to function 'get_user_pages'; expected 4, have 8 213 | return get_user_pages(NULL, mm, start, nr_pages, write, force, pages, vmas); | ^~~~~~~~~~~~~~ ~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm.h:2534:6: note: declared here 2534 | long get_user_pages(unsigned long start, unsigned long nr_pages, | ^~~~~~~~~~~~~~ ././common/inc/nv-mm.h: In function 'nv_page_fault_va': ././common/inc/nv-mm.h:237:33: error: 'struct vm_fault' has no member named 'virtual_address'; did you mean 'real_address'? 237 | return (unsigned long)(vmf->virtual_address); | ^~~~~~~~~~~~~~~ | real_address ././common/inc/nv-mm.h: In function 'nv_mmap_read_lock': ././common/inc/nv-mm.h:246:20: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 246 | down_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_read_unlock': ././common/inc/nv-mm.h:255:18: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 255 | up_read(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_lock': ././common/inc/nv-mm.h:264:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 264 | down_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_write_unlock': ././common/inc/nv-mm.h:273:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 273 | up_write(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mm_rwsem_is_locked': ././common/inc/nv-mm.h:282:33: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 282 | return rwsem_is_locked(&mm->mmap_sem); | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_mmap_get_lock': ././common/inc/nv-mm.h:291:17: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'? 291 | return &mm->mmap_sem; | ^~~~~~~~ | mmap_base ././common/inc/nv-mm.h: In function 'nv_vm_flags_set': ././common/inc/nv-mm.h:300:19: error: assignment of read-only member 'vm_flags' 300 | vma->vm_flags |= flags; | ^~ ././common/inc/nv-mm.h: In function 'nv_vm_flags_clear': ././common/inc/nv-mm.h:309:19: error: assignment of read-only member 'vm_flags' 309 | vma->vm_flags &= ~flags; | ^~ In file included from ././common/inc/nv-linux.h:37: ././common/inc/nv-time.h: At top level: ././common/inc/nv-time.h:40:8: error: redefinition of 'struct timespec64' 40 | struct timespec64 { | ^~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time.h:7, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/jiffies.h:10, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:25, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timer.h:6, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/uprobes.h:18, from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/mm_types.h:16: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:13:8: note: originally defined here 13 | struct timespec64 { | ^~~~~~~~~~ ././common/inc/nv-time.h:77:33: error: conflicting types for 'timespec64_add'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 77 | static inline struct timespec64 timespec64_add | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:73:33: note: previous definition of 'timespec64_add' with type 'struct timespec64(struct timespec64, struct timespec64)' 73 | static inline struct timespec64 timespec64_add(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:95:34: error: conflicting types for 'timespec64_sub'; have 'struct timespec64(const struct timespec64, const struct timespec64)' 95 | static inline struct timespec64 timespec64_sub | ^~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:85:33: note: previous definition of 'timespec64_sub' with type 'struct timespec64(struct timespec64, struct timespec64)' 85 | static inline struct timespec64 timespec64_sub(struct timespec64 lhs, | ^~~~~~~~~~~~~~ ././common/inc/nv-time.h:113:19: error: conflicting types for 'timespec64_to_ns'; have 's64(struct timespec64 *)' {aka 'long long int(struct timespec64 *)'} 113 | static inline s64 timespec64_to_ns(struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/time64.h:135:19: note: previous definition of 'timespec64_to_ns' with type 's64(const struct timespec64 *)' {aka 'long long int(const struct timespec64 *)'} 135 | static inline s64 timespec64_to_ns(const struct timespec64 *ts) | ^~~~~~~~~~~~~~~~ ././common/inc/nv-time.h: In function 'nv_ktime_get_raw_ns': ././common/inc/nv-time.h:122:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 122 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/ktime.h:235: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h: In function 'nv_sleep_ms': ././common/inc/nv-time.h:185:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 185 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-time.h:221:32: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 221 | ktime_get_raw_ts64(&tm_aux); | ^~~~~~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma In file included from ././common/inc/nv-procfs.h:26, from nvidia/procfs_nvswitch.c:25: nvidia/procfs_nvswitch.c: In function 'nvswitch_procfs_device_add': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/procfs_nvswitch.c:135:13: note: in expansion of macro 'NV_CREATE_PROC_FILE' 135 | entry = NV_CREATE_PROC_FILE("information", device_dir, device_info, | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19, from ././common/inc/nv-linux.h:220: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ nvidia/procfs_nvswitch.c: In function 'nvswitch_procfs_init': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/procfs_nvswitch.c:174:28: note: in expansion of macro 'NV_CREATE_PROC_FILE' 174 | nvswitch_permissions = NV_CREATE_PROC_FILE("permissions", | ^~~~~~~~~~~~~~~~~~~ /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/procfs_nvswitch.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir In file included from ././common/inc/nv-procfs.h:26, from nvidia/nvlink_linux.c:31: nvidia/nvlink_linux.c: In function 'nvlink_permissions_init': ././common/inc/nv-procfs-utils.h:73:60: error: passing argument 4 of 'proc_create_data' from incompatible pointer type [-Wincompatible-pointer-types] 73 | __entry = proc_create_data(filename, mode, parent, fops, __data);\ | ^~~~ | | | const nv_proc_ops_t * {aka const struct file_operations *} nvidia/nvlink_linux.c:115:26: note: in expansion of macro 'NV_CREATE_PROC_FILE' 115 | nvlink_permissions = NV_CREATE_PROC_FILE("permissions", | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/modules/6.14.6-arch1-1/build/include/linux/efi.h:19, from ././common/inc/nv-linux.h:220: /usr/lib/modules/6.14.6-arch1-1/build/include/linux/proc_fs.h:111:48: note: expected 'const struct proc_ops *' but argument is of type 'const nv_proc_ops_t *' {aka 'const struct file_operations *'} 111 | const struct proc_ops *, | ^~~~~~~~~~~~~~~~~~~~~~~ nvidia/nvlink_linux.c: At top level: nvidia/nvlink_linux.c:313:12: warning: no previous prototype for 'nvlink_core_init' [-Wmissing-prototypes] 313 | int __init nvlink_core_init(void) | ^~~~~~~~~~~~~~~~ nvidia/nvlink_linux.c:389:6: warning: no previous prototype for 'nvlink_core_exit' [-Wmissing-prototypes] 389 | void nvlink_core_exit(void) | ^~~~~~~~~~~~~~~~ nvidia/linux_nvswitch.c: At top level: nvidia/linux_nvswitch.c:52:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration] 52 | const static struct | ^~~~~ nvidia/linux_nvswitch.c:1705:1: warning: no previous prototype for 'nvswitch_init' [-Wmissing-prototypes] 1705 | nvswitch_init | ^~~~~~~~~~~~~ nvidia/linux_nvswitch.c:1790:1: warning: no previous prototype for 'nvswitch_exit' [-Wmissing-prototypes] 1790 | nvswitch_exit | ^~~~~~~~~~~~~ nvidia/linux_nvswitch.c: In function 'nvswitch_os_get_platform_time': nvidia/linux_nvswitch.c:1827:24: error: passing argument 1 of 'ktime_get_raw_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 1827 | ktime_get_raw_ts64(&ts); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:42:51: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 42 | extern void ktime_get_raw_ts64(struct timespec64 *ts); | ~~~~~~~~~~~~~~~~~~~^~ nvidia/linux_nvswitch.c: In function 'nvswitch_os_get_platform_time_epoch': nvidia/linux_nvswitch.c:1849:25: error: passing argument 1 of 'ktime_get_real_ts64' from incompatible pointer type [-Wincompatible-pointer-types] 1849 | ktime_get_real_ts64(&ts); | ^~~ | | | struct timespec64 * /usr/lib/modules/6.14.6-arch1-1/build/include/linux/timekeeping.h:44:52: note: expected 'struct timespec64 *' but argument is of type 'struct timespec64 *' 44 | extern void ktime_get_real_ts64(struct timespec64 *tv); | ~~~~~~~~~~~~~~~~~~~^~ make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/nvlink_linux.o] Error 1 make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/linux_nvswitch.o] Error 1 ././common/inc/nv-linux.h: In function 'nv_vmalloc': ././common/inc/nv-linux.h:502:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 502 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap': ././common/inc/nv-linux.h:515:17: error: implicit declaration of function 'ioremap_driver_hardened' [-Wimplicit-function-declaration] 515 | void *ptr = ioremap_driver_hardened(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:515:17: error: initialization of 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] ././common/inc/nv-linux.h:520:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 520 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_cache': ././common/inc/nv-linux.h:533:11: error: implicit declaration of function 'ioremap_cache_shared'; did you mean 'ioremap_cache'? [-Wimplicit-function-declaration] 533 | ptr = ioremap_cache_shared(phys, size); | ^~~~~~~~~~~~~~~~~~~~ | ioremap_cache ././common/inc/nv-linux.h:533:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 533 | ptr = ioremap_cache_shared(phys, size); | ^ ././common/inc/nv-linux.h:556:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 556 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_ioremap_wc': ././common/inc/nv-linux.h:565:11: error: implicit declaration of function 'ioremap_driver_hardened_wc' [-Wimplicit-function-declaration] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ././common/inc/nv-linux.h:565:9: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | ptr = ioremap_driver_hardened_wc(phys, size); | ^ ././common/inc/nv-linux.h:573:33: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 573 | NV_MEMDBG_ADD(ptr, size); | ^ ././common/inc/nv-linux.h: In function 'nv_vmap': ././common/inc/nv-linux.h:699:51: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 699 | NV_MEMDBG_ADD(ptr, page_count * PAGE_SIZE); | ^ ././common/inc/nv-linux.h: In function 'nv_phys_to_dma': ././common/inc/nv-linux.h:736:12: error: implicit declaration of function 'phys_to_dma'; did you mean 'nv_phys_to_dma'? [-Wimplicit-function-declaration] 736 | return phys_to_dma(dev, pa); | ^~~~~~~~~~~ | nv_phys_to_dma ././common/inc/nv-linux.h: In function 'nv_is_dma_direct': ././common/inc/nv-linux.h:1226:9: error: implicit declaration of function 'dma_is_direct'; did you mean 'd_is_dir'? [-Wimplicit-function-declaration] 1226 | if (dma_is_direct(get_dma_ops(dev))) | ^~~~~~~~~~~~~ | d_is_dir make[4]: *** [/usr/lib/modules/6.14.6-arch1-1/build/scripts/Makefile.build:207: nvidia/i2c_nvswitch.o] Error 1 make[4]: Target './' not remade because of errors. make[3]: *** [/usr/lib/modules/6.14.6-arch1-1/build/Makefile:1997: .] Error 2 make[3]: Target 'modules' not remade because of errors. make[2]: *** [/usr/lib/modules/6.14.6-arch1-1/build/Makefile:251: __sub-make] Error 2 make[2]: Target 'modules' not remade because of errors. make[2]: Leaving directory '/tmp/selfgz13746/NVIDIA-Linux-x86_64-535.161.07-grid/kernel' make[1]: *** [Makefile:251: __sub-make] Error 2 make[1]: Target 'modules' not remade because of errors. make[1]: Leaving directory '/usr/lib/modules/6.14.6-arch1-1/build' make: *** [Makefile:82: modules] Error 2