/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
Comments